Foros del Web » Programando para Internet » PHP »

Problema en el insert

Estas en el tema de Problema en el insert en el foro de PHP en Foros del Web. Hola buenas!! mi gustaria que alguien de por aqui me pueda explicar el porque no me funciona este scritp para validar un formulario de registro. ...
  #1 (permalink)  
Antiguo 21/03/2011, 10:58
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Problema en el insert

Hola buenas!!
mi gustaria que alguien de por aqui me pueda explicar el porque no me funciona este scritp para validar un formulario de registro. A la hora de probar el script me salen salen estos errores:
Conexión realizada con exitos.
( ! ) Notice: Undefined variable: nombre in C:\wamp\www\Infotravellers\imagenes\TMP3ugznif316. php on line 43
Call Stack
# Time Memory Function Location
1 0.0007 374528 {main}( ) ..\TMP3ugznif316.php:0

( ! ) Notice: Undefined variable: apellidos in C:\wamp\www\Infotravellers\imagenes\TMP3ugznif316. php on line 43
Call Stack
# Time Memory Function Location
1 0.0007 374528 {main}( ) ..\TMP3ugznif316.php:0

( ! ) Notice: Undefined variable: email in C:\wamp\www\Infotravellers\imagenes\TMP3ugznif316. php on line 43
Call Stack
# Time Memory Function Location
1 0.0007 374528 {main}( ) ..\TMP3ugznif316.php:0

( ! ) Notice: Undefined variable: contrasena in C:\wamp\www\Infotravellers\imagenes\TMP3ugznif316. php on line 43
Call Stack
# Time Memory Function Location
1 0.0007 374528 {main}( ) ..\TMP3ugznif316.php:0

( ! ) Notice: Undefined variable: codigo_postal in C:\wamp\www\Infotravellers\imagenes\TMP3ugznif316. php on line 43
Call Stack
# Time Memory Function Location
1 0.0007 374528 {main}( ) ..\TMP3ugznif316.php:0
Error al ejecutar la consulta.
  #2 (permalink)  
Antiguo 21/03/2011, 11:00
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Problema en el insert

Aqui os dejo lo que es el script que tengo para la validacion del formulario.

<?php
//Primero comprobar que ningún campo esté vacío y que todos los campos existan.

if(isset($_POST['nombre']) && !empty($_POST['nombre'])){
echo $_POST['nombre'];

}

if(isset($_POST['apellidos']) && !empty($_POST['apellidos'])){
echo $_POST['apellidos'];

}

if(isset($_POST['email']) && !empty($_POST['email'])){
echo $_POST['Email'];

}

if(isset($_POST['contrasena']) && !empty($_POST['contrasena'])){
echo $_POST['contrasena'];

}

if(isset($_POST['codigo_postal']) && !empty($_POST['codigo_postal'])){
echo $_POST['codigo_postal'];

}

// Si entramos es que todo se realizado correctamente

$link = mysql_connect("localhost", "oliver27", "chovy27");
mysql_select_db("infotravellers_registro",$link);
if($link) {
echo "Conexión realizada con exitos.";
} else {
echo "Ha ocurrido un error en la conexi&oacute;n a la base de datos.";
die();

}

// Con esta sentecia SQL insertaremos los datos en la base de datos
$sql = ("INSERT INTO registro (nombre,apellidos,email,contrasena,codigo_postal)
VALUES('$nombre', '$apellidos', '$email', '$contrasena', '$codigo_postal')");


if(!$sql) {

} else {

echo "Error al ejecutar la consulta.";

}

?>
  #3 (permalink)  
Antiguo 21/03/2011, 11:53
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 5 meses
Puntos: 48
Respuesta: Problema en el insert

Nunca declaras las variables:
'$nombre', '$apellidos', '$email', '$contrasena', '$codigo_postal'

Asi quedaria entonces
Código PHP:
Ver original
  1. <?php
  2. //Primero comprobar que ningún campo esté vacío y que todos los campos existan.
  3.  
  4. if(isset($_POST['nombre']) && !empty($_POST['nombre']))
  5. {
  6.     echo $_POST['nombre'];
  7.     $nombre = $_POST['nombre'];
  8. }
  9.  
  10. if(isset($_POST['apellidos']) && !empty($_POST['apellidos']))
  11. {
  12.     echo $_POST['apellidos'];
  13.     $apellidos = $_POST['apellidos'];
  14. }
  15.  
  16. if(isset($_POST['email']) && !empty($_POST['email']))  
  17. {
  18.     echo $_POST['email'];
  19.     $email = $_POST['email'];
  20. }
  21.  
  22. if(isset($_POST['contrasena']) && !empty($_POST['contrasena']))
  23. {
  24.     echo $_POST['contrasena'];
  25.     $pass = $_POST['contrasena'];
  26. }
  27.  
  28. if(isset($_POST['codigo_postal']) && !empty($_POST['codigo_postal']))
  29. {
  30.     echo $_POST['codigo_postal'];
  31.     $cp = $_POST['codigo_postal'];
  32. }
  33.  
  34. // Si entramos es que todo se realizado correctamente
  35.  
  36. $link = mysql_connect("localhost", "oliver27", "chovy27");
  37. mysql_select_db("infotravellers_registro",$link);
  38. if($link) {
  39.     echo "Conexión realizada con exitos.";
  40. } else {
  41.     echo "Ha ocurrido un error en la conexi&oacute;n a la base de datos.";
  42.     die();
  43. }
  44.  
  45. // Con esta sentecia SQL insertaremos los datos en la base de datos
  46. $sql = "INSERT INTO registro (nombre, apellidos, email, contrasena, codigo_postal) VALUES ('$nombre', '$apellidos', '$email', '$pass', '$cp')";
  47.  
  48.  
  49. if(mysql_query($sql))
  50. {
  51.     echo "Bien n_n";
  52. } else {
  53.     echo "Error al ejecutar la consulta.";
  54. }
  55.  
  56. ?>
  #4 (permalink)  
Antiguo 22/03/2011, 03:08
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Problema en el insert

Buenas!!!

ahh vale pero bueno igual acabo de declarar las variables y me sigue dando el mismo error a la hora de probar el script, estoy puede problema con la base de datos? bueno aqui me dice que la conexion se a realizado con exito, lo que me falla es la consulta.

Un saludo
  #5 (permalink)  
Antiguo 22/03/2011, 03:38
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Problema en el insert

Hola, prueba tu consulta así:

Código PHP:
$sql "INSERT INTO registro (nombre, apellidos, email, contrasena, codigo_postal) VALUES ('".$nombre."', '".$apellidos."', '".$email."', '".$pass."', '".$cp."')"
y me dices.

Un saludo.
  #6 (permalink)  
Antiguo 22/03/2011, 04:35
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Problema en el insert

Me sigue saliendo el mismo error de siempre.

( ! ) Notice: Undefined variable: nombre in C:\wamp\www\Infotravellers\imagenes\TMPmdjmuigfyw. php on line 58
Call Stack
# Time Memory Function Location
1 0.0007 377296 {main}( ) ..\TMPmdjmuigfyw.php:0

( ! ) Notice: Undefined variable: apellidos in C:\wamp\www\Infotravellers\imagenes\TMPmdjmuigfyw. php on line 58
Call Stack
# Time Memory Function Location
1 0.0007 377296 {main}( ) ..\TMPmdjmuigfyw.php:0

( ! ) Notice: Undefined variable: email in C:\wamp\www\Infotravellers\imagenes\TMPmdjmuigfyw. php on line 58
Call Stack
# Time Memory Function Location
1 0.0007 377296 {main}( ) ..\TMPmdjmuigfyw.php:0

( ! ) Notice: Undefined variable: password in C:\wamp\www\Infotravellers\imagenes\TMPmdjmuigfyw. php on line 58
Call Stack
# Time Memory Function Location
1 0.0007 377296 {main}( ) ..\TMPmdjmuigfyw.php:0

( ! ) Notice: Undefined variable: cp in C:\wamp\www\Infotravellers\imagenes\TMPmdjmuigfyw. php on line 58
Call Stack
# Time Memory Function Location
1 0.0007 377296 {main}( ) ..\TMPmdjmuigfyw.php:0
  #7 (permalink)  
Antiguo 22/03/2011, 05:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Problema en el insert

A ver, has usado el código de s00rk?? Porque mi modificación está hecha sobre ese código.

Lo que te pasa es que no declaras las variables nombre, apellidos, email, password ni cp, como ya te dijo s00rk.

Si quieres usar tu código, deberías hacer la inserción así:

Código PHP:
$sql = ("INSERT INTO registro (nombre,apellidos,email,contrasena,codigo_postal)
VALUES('"
.$_POST['nombre']."', '".$_POST['apellidos']."', '".$_POST['email']."', '".$_POST['password']."', '".$_POST['codigo_postal']."')"); 
Pero esto no te lo recomiendo bajo ningún concepto por motivos de seguridad. Mi consejo es que primero recojas los datos como te dijo s00rk, algo así como:

Código PHP:
$nombre $_POST['nombre']; 
Y luego usar las variables.

Prueba y me dices.

Un saludo.
  #8 (permalink)  
Antiguo 22/03/2011, 05:53
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Problema en el insert

es que tambien lo hice como lo dice s00rk y tambien me sale el mismo error que sigue saliendo!!
  #9 (permalink)  
Antiguo 22/03/2011, 06:02
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Problema en el insert

Mmmm, podrías poner el formulario donde se insertan los datos??
  #10 (permalink)  
Antiguo 22/03/2011, 06:06
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Problema en el insert

este es el formulario que tengo:

<form action="proceso.php" method="post">
<div>
<p align="center" class="style6">&nbsp;</p>
<p align="center" class="style6">Nombre:
<label>
<input type="text" name="nombre" value=""
size="20" maxlength="30" />
</label>
Apellidos:
<label>
<input type="text" name="apellidos" value=""
size="20" maxlength="30"/>
</label>
</p>
<p align="center" class="style6">Email:
<label>
<br />
<input type="text" name="email" value=""
size="20" maxlength="200" />
</label>
</p>
<p align="center" class="style6">Contrase&ntilde;a:
<label>
<br />
<input type="password" name="password" value=""
size="20" maxlength="12" />

<br />
</label>
</p>
<p align="center" class="style6">Codigo postal:
<label> <br />
<input type="text" name="codigo postal" value=""
size="20" maxlength="8" />
</label>
</p>
<p align="center" class="style6">
<input type="hidden" name="hiddenField" />
<label> <br />
<input name="Registrar" type="submit" id="Registrar" value="Registrar" />
<input name="Volver" type="reset" id="Volver" value="Volver" />
</label>
</p>
<p align="center" class="style6">&nbsp;</p>
</div>
</form>
  #11 (permalink)  
Antiguo 22/03/2011, 06:28
 
Fecha de Ingreso: agosto-2009
Mensajes: 216
Antigüedad: 14 años, 8 meses
Puntos: 3
Respuesta: Problema en el insert

A simple vista veo un fallito y es que en el campo de texto codigo postal lo llamas sin _ y luego lo recoges con _, no creo que ese sea el fallo, pero prueba a cambiar eso. También te aconsejaría poner el atributo id además del atributo name, ambos con el mismo nombre.

Prueba y me dices.
  #12 (permalink)  
Antiguo 22/03/2011, 06:43
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Problema en el insert

Nada! acabo de hacer los cambios que me dijiste y me sigue dando los mismo errores... jejejeje ya me rindo con este formulario , es que lo he probado de dista forma lo que es la consulta INSERT y siempre me daba error y bueno ya no tiene que puede ser. Si es problema de la base de dato o es que hay algo en el script que no logro identificar.
  #13 (permalink)  
Antiguo 22/03/2011, 06:58
 
Fecha de Ingreso: noviembre-2010
Ubicación: aun no se donde vivir
Mensajes: 112
Antigüedad: 13 años, 5 meses
Puntos: 3
Respuesta: Problema en el insert

creo que lo mejor seria hacer todo de nuevo, seria una solucion?

Etiquetas: insert
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 07:28.