Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO No consigo introducir datos del formulario en la base de datos ¿ por que motivo ?

Estas en el tema de No consigo introducir datos del formulario en la base de datos ¿ por que motivo ? en el foro de PHP en Foros del Web. Hola compañeros, antes que nada decirles que estoy muy pero que muy verde con el php pero estoy intentando aprender algunas cosillas. El caso es ...
  #1 (permalink)  
Antiguo 08/05/2014, 11:59
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 150
Antigüedad: 16 años, 6 meses
Puntos: 1
No consigo introducir datos del formulario en la base de datos ¿ por que motivo ?

Hola compañeros, antes que nada decirles que estoy muy pero que muy verde con el php pero estoy intentando aprender algunas cosillas.

El caso es que construyo un formulario, y al enviarlo en " action " va a otra pagina con un pequeño script para procesarlo y meterlo en la base de datos, el codigo es este:

Código PHP:

<?php

$nombre 
$_POST['nombre'];
$apellido $_POST['apellido'];

// conectamos base de datos

mysql_connect("localhost","ignacio","123");   // primero el host, segundo el user, tercero la contraseña

// seleccionamos la base de datos
mysql_select_db("ignacio");   

// insertamos los datos
mysql_query("INSERT INTO contactos (nombre,apellido) VALUES ('$nombre','$apellido')");

?>

El caso es que luego me voy a phpmyadmin, y se ha sumado un registro, pero los campos de nombre y apellido salen vacios ¿ por que ocurre eso ?

Es como si todo fuera bien, entrara algo en la base de datos pero no se guardaran los datos

¿ alguna ayuda por favor ?

Gracias
__________________
regalos personalizados
  #2 (permalink)  
Antiguo 08/05/2014, 12:05
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 10 años, 10 meses
Puntos: 14
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Si es por lo que dices, entonces el problema estara en el name de los campos del formulario
  #3 (permalink)  
Antiguo 08/05/2014, 12:06
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

estan bien los nombres de los indices del $_POST ?
  #4 (permalink)  
Antiguo 08/05/2014, 12:18
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 150
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

gracias por el interes y la rapida ayuda

El codigo del formulario es este:

Código PHP:

<form name="Formulario_de_prueba" method="post" action="http://www.miweb.com/enviar.php" enctype="text/plain" id="Form1">

<
input type="text" id="nombre" style="position:absolute;left:192px;top:33px;width:193px;height:18px;line-height:18px;z-index:0;" name="nombre" value="">

<
input type="text" id="apellido" style="position:absolute;left:188px;top:76px;width:175px;height:18px;line-height:18px;z-index:1;" name="apellido" value="">

<
input type="submit" id="Button1" name="" value="Submit" style="position:absolute;left:213px;top:130px;width:96px;height:25px;z-index:2;">

</
form>


Ven algo raro ????

tengo que decir que el codigo del formulario no lo he hecho yosino que estoy utilizando un programa tipo wysining que ayuda a hacerlo
__________________
regalos personalizados
  #5 (permalink)  
Antiguo 08/05/2014, 12:19
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Las variables (indices del array) que esperas en $_POST estan vacias...... pero si existen porque sino el script te hubiera dicho Warning - Undefined index ..." :)

Asi que supongo tienes una falla en el formulario,.... aunque de todas formas puedes hacer

Código PHP:
Ver original
  1. var_dump($_POST);

y verificar su contenido
__________________
Salu2!
  #6 (permalink)  
Antiguo 08/05/2014, 12:19
lolainas
Invitado
 
Mensajes: n/a
Puntos:
haz var_dump($_POST);
  #7 (permalink)  
Antiguo 08/05/2014, 12:20
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Borra los value="" de los input, está tomando los valores vacíos de los campos

Saludos
  #8 (permalink)  
Antiguo 08/05/2014, 12:32
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 150
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Cita:
Iniciado por rottenp4nx Ver Mensaje
Borra los value="" de los input, está tomando los valores vacíos de los campos

Saludos
no cambia nada, sigue autoincrementandose el ID pero el resto de campos vacio
__________________
regalos personalizados
  #9 (permalink)  
Antiguo 08/05/2014, 12:34
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 10 años, 10 meses
Puntos: 14
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

En la pagina que procesas escribe esto antes del $nombre = $_POST['nombre']; print_r($_POST); y dinos que sale por favor
  #10 (permalink)  
Antiguo 08/05/2014, 12:38
 
Fecha de Ingreso: abril-2014
Mensajes: 56
Antigüedad: 10 años
Puntos: 0
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

bueno yo soy nuevo en php y bueno no se si sea porque el boton submit no tiene nombre
que el name seria enviar y faltaria esto;
if(isset($_POST['enviar'])) en el codigo,
pero realmente no estoy muy seguro
  #11 (permalink)  
Antiguo 08/05/2014, 12:39
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 10 años, 10 meses
Puntos: 14
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Y coloca tambien el registro asi..
Código PHP:
Ver original
  1. $insert=("INSERT INTO contactos (nombre,apellido) VALUES ('$nombre','$apellido')");
  2. mysql_query($insert) or die(mysql_error());

Ya con eso nos dira si existe o no un error en el registro
  #12 (permalink)  
Antiguo 08/05/2014, 12:42
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Cita:
Iniciado por edward1994 Ver Mensaje
Y coloca tambien el registro asi..
Código PHP:
Ver original
  1. $insert=("INSERT INTO contactos (nombre,apellido) VALUES ('$nombre','$apellido')");
  2. mysql_query($insert) or die(mysql_error());

Ya con eso nos dira si existe o no un error en el registro
Ud leyo la parte donde dice "voy a phpmyadmin, y se ha sumado un registro, pero los campos de nombre y apellido salen vacios" ?

Logicamente que el query no arroja fallo ademas de que no tiene nada raro
__________________
Salu2!
  #13 (permalink)  
Antiguo 08/05/2014, 12:44
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 150
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Cita:
Iniciado por edward1994 Ver Mensaje
En la pagina que procesas escribe esto antes del $nombre = $_POST['nombre']; print_r($_POST); y dinos que sale por favor
me sale: Array ( )


el codigo quedo asi:

Código PHP:
<?php

$_POST
['nombre'];  print_r($_POST);

$nombre $_POST['nombre'];
$apellido $_POST['apellido'];

// conectamos base de datos

mysql_connect("localhost","ignacio","123");   // primero el host, segundo el user, tercero la contraseña

// seleccionamos la base de datos
mysql_select_db("ignacio");   

// insertamos los datos
mysql_query("INSERT INTO contactos (nombre,apellido) VALUES ('$nombre','$apellido')");

?>
__________________
regalos personalizados
  #14 (permalink)  
Antiguo 08/05/2014, 12:46
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 150
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Cita:
Iniciado por Italico76 Ver Mensaje
Ud leyo la parte donde dice "voy a phpmyadmin, y se ha sumado un registro, pero los campos de nombre y apellido salen vacios" ?

Logicamente que el query no arroja fallo ademas de que no tiene nada raro

exacto !!!, eso es lo que no entiendo, se suman los registros, pero no guarda ninguno de los campos del formulario
__________________
regalos personalizados
  #15 (permalink)  
Antiguo 08/05/2014, 12:48
Avatar de jose_php  
Fecha de Ingreso: mayo-2014
Mensajes: 44
Antigüedad: 9 años, 11 meses
Puntos: 2
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Hola, quizá lo tengas solucionado pero por sea caso si quitas el value="" en los dos campos, intenta eso...
  #16 (permalink)  
Antiguo 08/05/2014, 12:48
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 10 años, 10 meses
Puntos: 14
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Cita:
Iniciado por Italico76 Ver Mensaje
Ud leyo la parte donde dice "voy a phpmyadmin, y se ha sumado un registro, pero los campos de nombre y apellido salen vacios" ?

Logicamente que el query no arroja fallo ademas de que no tiene nada raro
Bueno si usted lo dice, pero yo solo se lo aconseje! porque me ha sucedido que al colocar eso me dice el error que tengo en la bd por ejemplo si tengo un campo date el formato de fecha es AAAA-mm-dd y si introduzco ese dato mal asi no este vacio, en la bd me aparecerá 0000-00-00 Lo que quiero lograr con eso es ver si existe o no un error en la elaboracion de la tabla en la BD ya que si el form esta correcto y el proceso de insert en la bd tambien, entonces el problema no esta alli! y solo quiero descartar!
  #17 (permalink)  
Antiguo 08/05/2014, 12:50
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 150
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Cita:
Iniciado por jose_php Ver Mensaje
Hola, quizá lo tengas solucionado pero por sea caso si quitas el value="" en los dos campos, intenta eso...
no compañero, ya lo intente porque lo propuso otro compañero mas arriba pero no soluciono nada.

Una cosa que no comente porque no pense que fuera imporante, pero la base de datos esta en 1and1 ¿ quizas lleva un tratamiento diferente ?

saludos
__________________
regalos personalizados
  #18 (permalink)  
Antiguo 08/05/2014, 12:50
 
Fecha de Ingreso: junio-2013
Ubicación: En cualquier parte de mi casa
Mensajes: 139
Antigüedad: 10 años, 10 meses
Puntos: 14
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Listo, eso quiere decir que el formulario no esta enviando nada!lo mas raro es que no envia ni siquiera el boton de submit!
  #19 (permalink)  
Antiguo 08/05/2014, 12:55
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 150
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Cita:
Iniciado por edward1994 Ver Mensaje
Y coloca tambien el registro asi..
Código PHP:
Ver original
  1. $insert=("INSERT INTO contactos (nombre,apellido) VALUES ('$nombre','$apellido')");
  2. mysql_query($insert) or die(mysql_error());

Ya con eso nos dira si existe o no un error en el registro
compañero acabo de probar esto que propones y nada, aumenta un registro pero vacio
__________________
regalos personalizados
  #20 (permalink)  
Antiguo 08/05/2014, 12:57
Avatar de jose_php  
Fecha de Ingreso: mayo-2014
Mensajes: 44
Antigüedad: 9 años, 11 meses
Puntos: 2
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Hola rafatfe, ya encontre tu solucion, solamente en el formulario quita el (enctype="text/plain"), y enviara los registros.

saludos
  #21 (permalink)  
Antiguo 08/05/2014, 12:58
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años
Puntos: 292
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Quita ese enctype="text/plain" que PHP no lo maneja

Ten presente que solo puedes usar con PHP este tipo de enctype:

Cita:
application/x-www-form-urlencoded
multipart/form-data
y ninguno mas!

---
Fuente
__________________
Salu2!
  #22 (permalink)  
Antiguo 08/05/2014, 13:04
Avatar de HackID1  
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Buenas!!
Bueno en tu Tabla contactos cuantos campos tienes ??.

Si quieres prueba quitando los campos (nombre,apellido) del INSERT y ejecuta así.

Código PHP:
Ver original
  1. $insert=("INSERT INTO contactos VALUES ('$nombre','$apellido')");
  2. mysql_query($insert) or die(mysql_error());

Si tienes más campos a la izquierda o derecha de los campos nombre, apellido, solo deja los campos en blanco usando '' en cada campo del INSERT que no venga del FORM.

ASI:

Código PHP:
Ver original
  1. $insert=("INSERT INTO contactos VALUES ('$nombre','$apellido','','')");
  2. mysql_query($insert) or die(mysql_error());

Prueba esto, saludos!!! Aunque es bastante raro que no te guarde los datos seguro es otra cuestión pero probar no cuesta nada.
Saludos
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1
  #23 (permalink)  
Antiguo 08/05/2014, 13:46
 
Fecha de Ingreso: octubre-2007
Ubicación: España
Mensajes: 150
Antigüedad: 16 años, 6 meses
Puntos: 1
Respuesta: No consigo introducir datos del formulario en la base de datos ¿ por que m

Cita:
Iniciado por jose_php Ver Mensaje
Hola rafatfe, ya encontre tu solucion, solamente en el formulario quita el (enctype="text/plain"), y enviara los registros.

saludos
tios sois unos maquinas, era esa tonteria la que estaba dando la lata jajajjajajaa

Ya esta arreglado, es que el formulario lo hago con un programita de esos tipo wysing ( ya dije que estoy muy verde aun ) y claro, me ponia eso, pero ya vi una opcion de cambiarlo por el que dice el compañero italico

Venga 1000 graciassssss A TODOS por vuestra ayuda.
__________________
regalos personalizados

Etiquetas: formulario, introducir, motivo, mysql, registro, select, tabla
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 16:15.