Foros del Web » Programando para Internet » PHP »

Crear formulario y guardar datos en la base de datos, todo en el mismo archivo PHP

Estas en el tema de Crear formulario y guardar datos en la base de datos, todo en el mismo archivo PHP en el foro de PHP en Foros del Web. Hola, a todos necesito de su ayuda con un archivo php. Quiero mostrar un formulario y luego conectarme con la base de datos y guardar ...
  #1 (permalink)  
Antiguo 08/10/2010, 11:24
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 15 años, 3 meses
Puntos: 0
Crear formulario y guardar datos en la base de datos, todo en el mismo archivo PHP

Hola, a todos necesito de su ayuda con un archivo php. Quiero mostrar un formulario y luego conectarme con la base de datos y guardar los datos en la misma, todo esto en un mismo archivo sin nesecidad de redirigir mi archivo a otro. Ejemplo, tengo en el archivo formulariousuario.php y quiero hacer todo aqui sin necesidad de ir a guardarusuario.php. El problema es que no me guarda los datos en la base de datos, pero tampoco me da error , necesito que me ayuden y digan que falta, cual es el error Espero me hayan entendido y me puedan ayudar por favr.!!! Aqui les dejo mi codigo:

<HTML>
<HEAD>
<link href="estilos.css" rel="stylesheet" type="text/css" media="screen"/>
</HEAD>


<BODY id="cuerpo" >

<div id="general">

<!-- ************* SUPERIOR ****************-->

<div id="superior">
<div id="superior1">
<img id="cabecera" src="images/encabezado.jpg"/>
</div>

<div id="superiorsinmenu">
</div>

<div id="superior3">
<?php
require("fecha.html");
?>
</div>

<div id="superior4">
<?php
require("hora2.html");
?>
</div>
</div>

<!-- ********CUERPO CENTRAL ***********-->
<div id="central">


<!-- *****************COMIENZA FORMULARIO**************-->
<BR>
<h3 class="title2" align="center">Introduzca los datos del nuevo usuario:</h3><BR>
<FORM name="form1" action=" " method="POST">

<?php
require("conexion.php");

function Division()
{
$consulta=("SELECT id_division, nombre_division FROM division WHERE id_maestro = '4' ORDER BY nombre_division");
$resultad=mysql_query($consulta);
echo "<select name='division' id='division'>";
echo "<option value='0'>Seleccione...</option>";
while($registro=mysql_fetch_array($resultad))
{
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
}

function perfil_usuario()
{
$consulta=("SELECT id_perfil_usu, nombre_perf_usu FROM perfil_usuario WHERE id_maestro = '2' ORDER BY nombre_perf_usu");
$resultad=mysql_query($consulta);
echo "<select name='perf_Usu' id='perf_Usu'>";
echo "<option value='0'>Seleccione...</option>";
while($registro=mysql_fetch_array($resultad))
{
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}
echo "</select>";
}
?>

<div id="tablaregistro">
<table width="300" border="0" cellspacing="20">

<tr width="60%">
<td>Nombres:</td>
<td><input name="nombre" type="text" id="nombre" size="30"></td>
<td>Apellidos:</td>
<td><input name="apellido" type="text" id="apellido" size="30"></td>
</tr>

<tr>
<td>Correo:</td>
<td><input name="correo_u" type="text" id="correo_u" size="30"></td>
<td>Perfil:</td>
<td><?php perfil_usuario(); ?>
</td>
</tr>

<tr>
<td>Usuario:</td>
<td><input name="usuario" type="text" id="usuario" size="30"></td>
<td>Contrase&ntilde;a:</td>
<td><input name="contra" type="password" id="contra" size="30"></td>
</tr>

<tr>
<td>Divisi&oacute;n:</td>
<td><?php Division(); ?></td>
<td><a href='#' OnClick="window.open('registrarDivision.html','ven tanita','width=800,height=600,left=300,top=170 menubar=si')">Registrar</a>
</td>
</tr>
</table>
</div> <!--Fin del div de la tabla de registro-->
<BR>
<BR>
<div id="botones">
<table>
<tr>
<td><input type="button" value="Registrar" name="registrar" onclick="validar()"></td>
<td><input type="reset" name="borrar" value="Borrar"></td>
<td><input type="button" name="cancelar" value="Cancelar"></td>
<BR>
</tr>
</table>
</div> <!--fin div botones-->
</FORM>



<!-- ******COMIENZA REGISTRO DE USUARIO**********-->


<?php

//Conecto con la BD..
require("conexion.php");
//HAGO EL REGISTRO EN LA BASE DE DATOS
if (isset($_POST['registrar'])) {
//Insertamos el Registro en la tabla usuario de la Base de Datos aplicativos..
$strsql = "INSERT INTO usuario VALUES('$_POST[correo_u]','$_POST[nombre]','$_POST[apellido]','$_POST[contra]','$_POST[division]','$_POST[perf_Usu]', '$_POST[usuario]');";
$result=mysql_query($strsql);
}



?>
</div> <!--fin div cuerpocentral-->

<!-- ********** INFERIOR ***********-->

<div id="inferior">
<h4 align="center">Todos los derechos reservados</h4>
</div> <!--fin div inferior-->

</div> <!-- fin de la div general-->

</BODY>
</HTML>
  #2 (permalink)  
Antiguo 08/10/2010, 11:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

¿y como sabes que no ocurre algún error, ya depuraste tu consulta?
Código PHP:
// MAL
$result=mysql_query($strsql);

// BIEN
$result=mysql_query($strsql) or die('Este es mi error:'.mysql_error()); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/10/2010, 11:37
hhc
 
Fecha de Ingreso: octubre-2010
Mensajes: 8
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

segun yo no te hace falta decirle a donde va cada cosa?
Cita:
$strsql = "INSERT INTO usuario VALUES('$_POST[correo_u]','$_POST[nombre]','$_POST[apellido]','$_POST[contra]','$_POST[division]','$_POST[perf_Usu]', '$_POST[usuario]');";
$result=mysql_query($strsql);
}
Código PHP:
Ver original
  1. $strsql = "INSERT INTO usuario(mail, nombre, apellido, password, division, perfil, usuario) VALUES('$_POST[correo_u]','$_POST[nombre]','$_POST[apellido]','$_POST[contra]','$_POST[division]','$_POST[perf_Usu]', '$_POST[usuario]');";
  2. $result=mysql_query($strsql);
  #4 (permalink)  
Antiguo 08/10/2010, 12:57
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 9 meses
Puntos: 55
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Cita:
Iniciado por hhc Ver Mensaje
segun yo no te hace falta decirle a donde va cada cosa?

Código PHP:
Ver original
  1. $strsql = "INSERT INTO usuario(mail, nombre, apellido, password, division, perfil, usuario) VALUES('$_POST[correo_u]','$_POST[nombre]','$_POST[apellido]','$_POST[contra]','$_POST[division]','$_POST[perf_Usu]', '$_POST[usuario]');";
  2. $result=mysql_query($strsql);

me parece que deberia ser asi
Código PHP:
Ver original
  1. $strsql = "INSERT INTO usuario(mail, nombre, apellido,  password, division, perfil, usuario)  VALUES('". $_POST['correo_u'] ."','".$_POST['nombre'] ."','".$_POST['apellido'] ."','".$_POST['contra'] ."','".$_POST['division'] ."','". $_POST['perf_Usu'] ."',  '".$_POST['usuario'] ."');";
  2. $result=mysql_query($strsql);
  #5 (permalink)  
Antiguo 08/10/2010, 13:05
hhc
 
Fecha de Ingreso: octubre-2010
Mensajes: 8
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Cita:
Iniciado por Death_Empire Ver Mensaje
me parece que deberia ser asi
Código PHP:
Ver original
  1. $strsql = "INSERT INTO usuario(mail, nombre, apellido,  password, division, perfil, usuario)  VALUES('". $_POST['correo_u'] ."','".$_POST['nombre'] ."','".$_POST['apellido'] ."','".$_POST['contra'] ."','".$_POST['division'] ."','". $_POST['perf_Usu'] ."',  '".$_POST['usuario'] ."');";
  2. $result=mysql_query($strsql);
Si es cierto no me fije en ese pequeño detalle de las comas jejejej
  #6 (permalink)  
Antiguo 14/10/2010, 16:57
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Ok gracias por responder y ya probaré sus sugerencias.!
  #7 (permalink)  
Antiguo 14/10/2010, 17:40
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Nada :( ya probe con el código como me dijeron pero todavia no me guarda en la base de datos. Este fue el pedazo de código que cambié:

$strsql = "INSERT INTO usuario (correo_usu, nombre_u, apellido_u, contrasena, id_division, id_perfil_usu, usu) VALUES('". $_POST['correo_u'] ."','".$_POST['nombre'] ."','".$_POST['apellido'] ."','".$_POST['contra'] ."','".$_POST['division'] ."','". $_POST['perf_Usu'] ."', '".$_POST['usuario'] ."');";
$result=mysql_query($strsql) or die('Este es mi error:'.mysql_error());

Ayudenme please, no se que hacer :s
  #8 (permalink)  
Antiguo 14/10/2010, 18:32
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Intenta asi;
Código PHP:
$query mysql_query("INSERT INTO usuario(mail, nombre, apellido,  password, division, perfil, usuario)  VALUES('"$_POST['correo_u'] ."','".$_POST['nombre'] ."','".$_POST['apellido'] ."','".$_POST['contra'] ."','".$_POST['division'] ."','"$_POST['perf_Usu'] ."',  '".$_POST['usuario']."')") or die ('Imposible insertar; '.mysql_error()); 
Si no funciona, supongo que tienes algo mal en tu conexion
Puedes probar que funcione la conexion con esto;

Código PHP:
$query mysql_query("INSERT INTO usuario(nombre) VALUES ('eje')"); 
Si se inserto 'eje' en la tabla usuario, campo nombre, quiere decir que solo esta algo mal en la query
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #9 (permalink)  
Antiguo 14/10/2010, 22:40
 
Fecha de Ingreso: marzo-2010
Ubicación: Lima, Perú
Mensajes: 136
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

ME gustaria ayudarte, pero me incomoda que las cosas se hagan de esa manera, cuando lo recomendable es usar MVC o rudimentariamente separar las cosas. Cuando programes de manera profesional, me lo agradeceras
  #10 (permalink)  
Antiguo 21/10/2010, 08:49
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Pues no soy profesional en php obviamente, si no no estuviera por aqui pidiendo su ayuda. Y Sourcegeek gracias por responder, pero mi conexion esta bien, ya lo he probado, y lo que me sugeriste tampoco me funcionó.!! :(
  #11 (permalink)  
Antiguo 21/10/2010, 17:41
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

No funciono?
Entonces dos probabilidades;

1- No tienes bien la conexion
2- No seleccionas bien la DB..

Prueba habilitando los errores;
Código PHP:
error_reporting(E_ALL); 
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #12 (permalink)  
Antiguo 21/10/2010, 19:17
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Amigo creo que es por que no le estas definiendo una accion al formulario, dale una accion, deberia ser la ruta de tu arcchivo que procesa el formulario, pero en este caso que quieres que todo se haga en el mismo archivo, tienenes que poner en:

action = "archivo.php"

O sea aunque redigiras a la misma pagina tienes que poner algo en action para que sepa que hacer tu formulario.

Eso me imagino que es por el momento a si a primera vista, espero que sea de ayuda!!

Saludos!!!
  #13 (permalink)  
Antiguo 22/10/2010, 20:27
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Voy a enloquecer.!! Todavia nada chicos.!! Acabo de probar lo q me sugieren y nada :( la verdad que no tengo idea que cual podra ser el error.!! Gracias por su ayuda y sigo aceptando sugerencias. Y si encuentro el error lo publico.! =)
  #14 (permalink)  
Antiguo 22/10/2010, 20:30
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Lo ultimo que se me ocurre...
Muestranos tu archivo conexion.php
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #15 (permalink)  
Antiguo 25/10/2010, 10:51
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Ok aqui esta mi conexion.php, aunque funciona, porq lo utilizo en la parte del programa de consulta de datos y si me muestra los datos, pero igual veanla y ayudenme please.!!! Gracias por responder... =)

<?php

//Abrimos conexion con la base de datos...
$id_conn = mysql_connect("localhost","root","123456");
if ($id_conn == 0){ //Falla la conexion a la base de datos
echo "Fall&oacute; la conexi&oacute;n a la Base de Datos!!!<BR>";
echo mysql_errormsg($id_conn);
}
else{ //Si no falla la conexion a la base de datos, entra por este else...
//Aqui estamos en la base de datos...
$dbSelect = mysql_select_db('aplicativos',$id_conn);
if (!$dbSelect){
die ('No se pudo seleccionar la Base de Datos: '. mysql_error());
}
}
?>
  #16 (permalink)  
Antiguo 25/10/2010, 19:58
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Y si todo tu codigo de procesamiento de los datos los pones primero, hasta arriba, antes del <HTML> y ya abajo pones el formulario, y yo insisto que pongas en "action" lo que te puse anteriormente.

Saludos!!
  #17 (permalink)  
Antiguo 26/10/2010, 10:25
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

Si yo hice lo que me dijiste sobre el action, pero siguio igual, ahora probare lo que me dices. Gracias.!! =)
  #18 (permalink)  
Antiguo 27/10/2010, 09:29
 
Fecha de Ingreso: agosto-2009
Ubicación: Venezuela
Mensajes: 82
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Crear formulario y guardar datos en la base de datos, todo en el mismo arc

reyvolsam nada de nada todavia, de verdad nose cual es el error ='( ya probe tooodo lo que me dijiste.. seguire revisando y esperando sus sugerencias.! Gracias por sus respuestas.!

Etiquetas: todo, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.