Foros del Web » Programando para Internet » PHP »

Insertar datos de formulario a bd mysql

Estas en el tema de Insertar datos de formulario a bd mysql en el foro de PHP en Foros del Web. Hola, Hasta ahora y siguiendo un manual insertaba los datos recopilados de un formulario en una tabla mysql. Los problemas han comenzado al migrar de ...
  #1 (permalink)  
Antiguo 24/10/2006, 10:12
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Insertar datos de formulario a bd mysql

Hola,

Hasta ahora y siguiendo un manual insertaba los datos recopilados de un formulario en una tabla mysql.

Los problemas han comenzado al migrar de hosting. A partir del cambio la tabla mysql añade los campos nuevos del formulario pero los datos están en blanco.

Después de mirar por google he probado este test:

<?
$cod=$_POST['cod'];
$desc=$_POST['desc'];
$cant=$_POST['cant'];
$link = mysql_connect("localhost", "nombreusuario", "contraseña")
or die("Could not connect to database!");
mysql_select_db("labasededatos")
or die("Could not select database!");
$query = "insert into 1prueba values ('$cod','$desc','$cant')";
$result = mysql_query($query)
or die("Query failed:$query");
?>

He creado una tabla "1prueba" con los tres campos para hace la prueba y siguie ocurriendo el mismo problema, se añade una nueva entrada en la tabla con los tres campos, pero vacíos.

¿Podéis echarme un cable y orientarme?

Gracias por anticipado.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #2 (permalink)  
Antiguo 24/10/2006, 10:19
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Hola,
comprueba q te lleguen las variables:

Código PHP:
$cod=$_POST['cod'];
$desc=$_POST['desc'];
$cant=$_POST['cant'];
echo 
$cod;
echo 
$desc;
echo 
$cant
quizas te lleguen en blanco...

saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #3 (permalink)  
Antiguo 24/10/2006, 10:31
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Sí, llegan en blanco.

¿Tiene solución?

Gracias.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #4 (permalink)  
Antiguo 24/10/2006, 10:38
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
casi todo tienes solucion... puedes poner tu codigo aqui? el del formulario desde donde mandas los campos? y tambien el codigo por el cual las recibes?
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
  #5 (permalink)  
Antiguo 24/10/2006, 11:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
El formulario

Código:
<FORM METHOD="POST" ACTION="insertar.php">
<table align="center" bgcolor="#ed2321" border="0" width="100%" cellspacing="0" cellpadding="1" class="tdrow">
<tr><td>
<table align="left" bgcolor="#ffffff" border="0" width="100%" cellspacing="2" cellpadding="5" class="tdrow">
<tr>
<td bgcolor="#EFF1F2" valign="top" align="right">Curso:</td>
<td bgcolor="#BEECF6" valign="top" align="left"><input type="hidden" name="ACTIVIDAD" value="EL NOMBRE DE LA ACTIVIDAD"> El nombre de la actividad</td>
</tr>
<tr>
<td bgcolor="#EFF1F2" valign="top" align="right">Primer Apellido:</td>
<td bgcolor="#BEECF6" valign="top" align="left"><input type="text" size="40" maxlength="100" name="PRIMERAPELLIDO"></td>
</tr>
<tr>
<td bgcolor="#EFF1F2" valign="top" align="right">Segundo Apellido:</td>
<td bgcolor="#BEECF6" valign="top" align="left"><input type="text" size="40" maxlength="100" name="SEGUNDOAPELLIDO"></td>
</tr>
</table>
</td>
</tr>
</table>
</FORM>
Código por el cual lo recibo

Código:
<?
//Conexion con la base
mysql_connect("localhost","usuario","contraseña");
//Ejecucion de la sentencia SQL
mysql_db_query("basededatos","insert into mitabla (ACTIVIDAD,PRIMERAPELLIDO,SEGUNDOAPELLIDO,FECHA) values ('$ACTIVIDAD','$PRIMERAPELLIDO','$SEGUNDOAPELLIDO',NOW())");
?>
Gracias por tu ayuda.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #6 (permalink)  
Antiguo 24/10/2006, 11:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. ya te han comentado que tomes tus datos en:

$_POST['nombre_variable'] .. no como lo hace ahora en $nombre_variable directo.

Lo has probado? ..

Puedes ver que tiene $_POST completo usando:

Código PHP:
echo "<pre>";
print_r($_POST);
echo 
"</pre>"
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 24/10/2006, 11:38
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Bueno, no estoy seguro de entenderte pero a raiz de la primera respuesta probé esto:

Código:
$cod=$_POST['cod'];
$desc=$_POST['desc'];
$cant=$_POST['cant'];
echo $cod;
echo $desc;
echo $cant;
y no se imprimía nada en pantalla.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #8 (permalink)  
Antiguo 24/10/2006, 11:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Miles Ver Mensaje
Bueno, no estoy seguro de entenderte pero a raiz de la primera respuesta probé esto:

Código:
$cod=$_POST['cod'];
$desc=$_POST['desc'];
$cant=$_POST['cant'];
echo $cod;
echo $desc;
echo $cant;
y no se imprimía nada en pantalla.
Yo insisto .. mira que tiene "POST" al completo con el último código que te presenté .. Usalo en el script que debe recibir los datos. Podría ser que los nombres de tus "variables" no coincidan ..

Todos hablamos de "POST" .. por qué así lo defines en:
<FORM METHOD="POST" .....>

Pero .. si tienes dudas que realmente estén llegando en "POST" .. haz la misa prueba con $_GET

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 24/10/2006, 12:08
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
Cluster, ya funciona. Me has salvado la vida.

Muchísimas gracias.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
  #10 (permalink)  
Antiguo 24/10/2006, 12:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Miles Ver Mensaje
Cluster, ya funciona. Me has salvado la vida.

Muchísimas gracias.
Bueno .. y cual era el problema?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #11 (permalink)  
Antiguo 24/10/2006, 12:32
 
Fecha de Ingreso: febrero-2005
Mensajes: 33
Antigüedad: 19 años, 2 meses
Puntos: 0
'".$_POST['ACTIVIDAD']."'

Tenía que poner, como decías, el POST completo.

Saludos.
__________________
"Inteligencia militar son términos contradictorios" (G. Marx).
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 02:52.