Foros del Web » Programando para Internet » PHP »

NO funciona y no se por qué ¿que raro no?

Estas en el tema de NO funciona y no se por qué ¿que raro no? en el foro de PHP en Foros del Web. Hola a todos: A continuación un resumen del codigo que no me funciona (..gracias GNZSOLOYO ). Si pongo los campos sin controlar si están vacios ...
  #1 (permalink)  
Antiguo 15/12/2010, 04:04
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
NO funciona y no se por qué ¿que raro no?

Hola a todos:

A continuación un resumen del codigo que no me funciona (..gracias GNZSOLOYO ). Si pongo los campos sin controlar si están vacios si que va , pero al añadir el control If EMPTY graba el query sin dar errores pero no registra en la base de datos. Para acabarlo de arreglar. En otro script tengo un contrl parecido para subir imágenes (que es de donde procede el If EMPTY) y si que va.
¿Alguien me puede indicar en que me equivoco?

Un saludo y muchisisimas gracias de antemano



Código PHP:
<?php 

// form submitted 
//Seleccciono los daots de conexión a la BBDD
$host "AAA"
$user "BBB"
$pass "CCC"
$db "DDD"

// Recojo las entradas del formulario, compruebo y doy mensajes de error si no está bien

//Campos de Tabla personas


if($nombre = empty($_POST['nombre'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un nombre\");  window.history.back();  </script>";  exit;}  
if(
$apellido1 = empty($_POST['apellido1'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un Apellido 1º\");  window.history.back();  </script>";  exit;}
if(
$apellido2 = empty($_POST['apellido2'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un Apellido 2º\");  window.history.back();  </script>";  exit;}



//Campos de Tabla Direcciones

if ($direccion = empty($_POST['direccion'])) {echo "<script type=\"text/javascript\">alert(\"Debes poner una dirección\");
window.history.back();  
</script>"
;  
exit; }; 
if (
$poblacion = empty($_POST['poblacion'])) {echo "<script type=\"text/javascript\">alert(\"Falta la población\");
window.history.back();  
</script>"
;  
exit; }; 


// Abro conexión y selecciono la base de datos
$connection mysql_connect($host$user$pass) or die ("Unable to connect!"); 
mysql_select_db($db) or die ("Unable to select database!"); 

// creo query para tabla personas

$queryPER "INSERT INTO personas (nombre,apellido1,apellido2) VALUES ('$nombre', $apellido1','$apellido2')";

// ejecuto query para tabla personas

$result mysql_query($queryPER) or die ("Error in queryPER: $queryPER. ".mysql_error());

echo 
"New record inserted with ID ".mysql_insert_id(); 

//Selecciono PK y la adjudico a la clave idPER de personas mediante una variable para crear el vinculo entre tablas (idPrimaryPER en personas  con idPER en direcciones, contacto, etc...)

$selectPKper mysql_insert_id();

$idPER=$selectPKper;

// creo query para tabla direcciones
 
$queryDIR"INSERT INTO direcciones (idPER,direccion, poblacion) VALUES ('$idPER','$direccion','$poblacion')";
 
// ejecuto query para tabla Direcciones

$resultDIR mysql_query($queryDIR) or die ("Error in query: $queryDIR. ".mysql_error());
 
echo 
"New record inserted with ID ".mysql_insert_id();

// Cierro la conexión
mysql_close($connection); 
 
?>
  #2 (permalink)  
Antiguo 15/12/2010, 04:46
Avatar de OsSk4R  
Fecha de Ingreso: octubre-2006
Ubicación: $this->home
Mensajes: 824
Antigüedad: 17 años, 6 meses
Puntos: 74
Respuesta: NO funciona y no se por qué ¿que raro no?

Buenas,

Sin pararme mucho...

¿Has comprobado que los datos los recibes correctamente?
Haz un echo a esos datos a ver si llegan todos...

También puedes probar así:

Código PHP:
Ver original
  1. <?php  
  2.  
  3. // form submitted  
  4. //Seleccciono los daots de conexión a la BBDD
  5. $host = "AAA";  
  6. $user = "BBB";  
  7. $pass = "CCC";  
  8. $db = "DDD";  
  9.  
  10. // Recojo las entradas del formulario, compruebo y doy mensajes de error si no está bien
  11.  
  12. //Campos de Tabla personas
  13.  
  14.  
  15. if(empty($_POST['nombre'])) {
  16. echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un nombre\");  window.history.back();  </script>";
  17. }  
  18. elseif(empty($_POST['apellido1'])) {
  19. echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un Apellido 1º\");  window.history.back();  </script>";
  20. }
  21. elseif(empty($_POST['apellido2'])) {
  22. echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un Apellido 2º\");  window.history.back();  </script>";
  23. }
  24.  
  25.  
  26.  
  27. //Campos de Tabla Direcciones
  28.  
  29. if (empty($_POST['direccion'])) {echo "<script type=\"text/javascript\">alert(\"Debes poner una dirección\");
  30. window.history.back();  
  31. </script>";  
  32. }
  33. elseif (empty($_POST['poblacion'])) {echo "<script type=\"text/javascript\">alert(\"Falta la población\");
  34. window.history.back();  
  35. </script>";  
  36. };
  37.  
  38.  
  39. // Abro conexión y selecciono la base de datos
  40. $connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");  
  41. mysql_select_db($db) or die ("Unable to select database!");  
  42.  
  43. // creo query para tabla personas
  44.  
  45. $queryPER = "INSERT INTO personas (nombre,apellido1,apellido2) VALUES ('$nombre', $apellido1','$apellido2')";
  46.  
  47. // ejecuto query para tabla personas
  48.  
  49. $result = mysql_query($queryPER) or die ("Error in queryPER: $queryPER. ".mysql_error());
  50.  
  51. echo "New record inserted with ID ".mysql_insert_id();  
  52.  
  53. //Selecciono PK y la adjudico a la clave idPER de personas mediante una variable para crear el vinculo entre tablas (idPrimaryPER en personas  con idPER en direcciones, contacto, etc...)
  54.  
  55. $selectPKper = mysql_insert_id();
  56.  
  57. $idPER=$selectPKper;
  58.  
  59. // creo query para tabla direcciones
  60.  
  61. $queryDIR= "INSERT INTO direcciones (idPER,direccion, poblacion) VALUES ('$idPER','$direccion','$poblacion')";
  62.  
  63. // ejecuto query para tabla Direcciones
  64.  
  65. $resultDIR = mysql_query($queryDIR) or die ("Error in query: $queryDIR. ".mysql_error());
  66.  
  67. echo "New record inserted with ID ".mysql_insert_id();
  68.  
  69. // Cierro la conexión
  70. mysql_close($connection);  
  71.  
  72. ?>

Saludos,
  #3 (permalink)  
Antiguo 15/12/2010, 12:15
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: NO funciona y no se por qué ¿que raro no?

Gracias Deffer (...una vez más).
Probaré tu sugerencia
  #4 (permalink)  
Antiguo 16/12/2010, 04:35
Avatar de Rankxerox1984  
Fecha de Ingreso: septiembre-2010
Mensajes: 253
Antigüedad: 13 años, 7 meses
Puntos: 4
Respuesta: NO funciona y no se por qué ¿que raro no?

Bueno, la final lo resolví (...parece) se tratra de que el if empty no tenia una condición previa que cumplir

$nombre=$_POST['nombre'];
if (empty ($_POST['nombre'])) {echo ...

Agradeciendo los aportes y los consejos recibidos dejo el código completo por si le sirve a alguien.

Muchas gracias,

J.

Código PHP:
<?php   
// form submitted  
//Seleccciono los datos de conexión a la BBDD 
$host "aaa"
$user "bbb"
$pass "ccc"
$db "ddd";   

// Recojo las entradas del formulario, compruebo y doy mensajes de error si no está bien  
//Campos de Tabla personas 
  
$nombre=$_POST['nombre'];
if (empty (
$_POST['nombre'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un nombre\");  
window.history.back();  
</script>"
;
exit;
}; 
  
$apellido1=$_POST['apellido1'];
if(empty (
$_POST['apellido1'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un Apellido 1º\");  
window.history.back();  
</script>"
;
exit;
};
$apellido2=$_POST['apellido2'];
if(empty (
$_POST['apellido2'])) {echo "<script type=\"text/javascript\">alert(\"ERROR: Pon un Apellido 2º\");  
window.history.back();  
</script>"

exit;
};    

//Campos de Tabla Direcciones

$direccion=$_POST['direccion'];  
if (empty (
$_POST['direccion'])) {echo "<script type=\"text/javascript\">alert(\"Debes poner una dirección\"); 
window.history.back();   
</script>"
;   
exit; 
};

$poblacion=$_POST['poblacion'];
if (empty (
$_POST['direccion'])) {echo "<script type=\"text/javascript\">alert(\"Falta la población\");
window.history.back();   
</script>"
;   
exit;
};
   
// Abro conexión y selecciono la base de datos
 
$connection mysql_connect($host$user$pass) or die ("Unable to connect!");  
mysql_select_db($db) or die ("Unable to select database!");   

// creo query para tabla personas  

$queryPER "INSERT INTO personas (nombre,apellido1,apellido2) VALUES ('$nombre', '$apellido1','$apellido2')"
echo (
$queryPER);

// ejecuto query para tabla personas  

$result mysql_query($queryPER) or die ("Error in queryPER: $queryPER. ".mysql_error());  
echo 
"New record inserted with ID ".mysql_insert_id(); 
  
//Selecciono PK y la adjudico a la clave idPER de personas mediante una variable para crear el vinculo entre tablas (idPrimaryPER en personas  con idPER en direcciones, 

contactoetc...)
  
$selectPKper mysql_insert_id();  
$idPER=$selectPKper

// creo query para tabla direcciones
   
$queryDIR"INSERT INTO direcciones (idPER,direccion, poblacion) VALUES ('$idPER','$direccion','$poblacion')"
  
// ejecuto query para tabla Direcciones 
 
$resultDIR mysql_query($queryDIR) or die ("Error in query: $queryDIR. ".mysql_error());  
 
echo 
"New record inserted with ID ".mysql_insert_id();
  
// Cierro la conexión mysql_close($connection);

?>

Etiquetas: raro
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 15:20.