Foros del Web » Programando para Internet » PHP »

Probelma con formularios HTML y envio de datos a PHP

Estas en el tema de Probelma con formularios HTML y envio de datos a PHP en el foro de PHP en Foros del Web. EDIT: He conseguido solucionar los errores de undefined index pero sigue sin insertar nada a la base de datos Hola buenas, soy nuevo por aquí, ...
  #1 (permalink)  
Antiguo 13/12/2012, 20:32
Avatar de flash0mc  
Fecha de Ingreso: diciembre-2012
Mensajes: 1
Antigüedad: 11 años, 4 meses
Puntos: 0
Probelma con formularios HTML y envio de datos a PHP

EDIT: He conseguido solucionar los errores de undefined index pero sigue sin insertar nada a la base de datos

Hola buenas, soy nuevo por aquí, llevo recurriendo a estos foros bastante tiempo pero nunca había llegado el momento de que no encontrase la solución a un problema hasta ahora.

Os pongo un poco en situación. Tengo una página HTML con un formulario con diferentes campos que envío a un PHP para insertar dichos datos en una base de datos.

el código html del formulario es el siguiente:

Código HTML:
<form method="POST" enctype="multipart/form-data" action="../PHP/insertar_lugar.php">
<table>  
	<tr><td>Nombre:</td><td><input type="text" name="nombre"></td></tr>
	<tr><td>Apellido:</td><td><input type="text" name="apellido"></td></tr>
	<tr><td>Continente:</td><td><select name="continente">
<option>Asia</option>
	<option>África</option>
	<option>América</option>
	<option>Europa</option>
	<option>Oceanía</option>
	</select></td></tr>
	<tr><td>Pais:</td><td><input type="text" name="pais"></td><tr>
	<tr><td>Lugar:</td><td><input type="text" name="lugar"></td></tr>
	<tr><td>Fotografía:</td><td><input type="file" name="foto"></td></tr>
	<tr><td>Descripcion:</td>
	<td><textarea name="descripcion" rows="2" cols="30">Inserta una breve descripcion aqui....</textarea></td></tr>
	<tr><td><input type="submit" name="Enviar datos" value="Enviar"></td><td><input type="reset" name="reset" value="Borrar"></td></tr>
</table>
</form> 
Y el código php que recoge los datos y con el que intento insertarlos en la base de datos es:

Código PHP:
<?php
$nombre
=$_POST['nombre'];
$apellido=$_POST['apellido'];
$continente=$_POST['continente'];
$pais=$_POST['pais'];
$lugar=$_POST['lugar'];
$tname=$_FILES['foto']['tmp_name'];
$size=$_FILES['foto']['size'];
$desc1=fopen($tname,"r");
$datos=addslashes(fread($desc1,$size));
$descripcion=$_POST['descripcion'];
$fecha="SELECT CONVERT (date, SYSDATETIME())";
$desc=mysql_connect("localhost","root");
if (!
$desc)
   {
   die (
"Error al conectar".mysql_error());
   }

mysql_select_db("proyecto",$desc);

$cons="INSERT INTO test ('nombre','apellido','continente','pais','lugar','foto','descripcion',) VALUES ('".$nombre."','".$apellido."','".$continente."','".$pais."','".$lugar."','".$datos."','".$descripcion."')" or die(mysql_error());
echo 
$cons;

mysql_query($cons,$desc);
?>
Pues bien, el problema es el siguiente, me da varios errores de undefinex index, en concreto con apellido, continente, pais, lugar y descripción, el resto los toma bien y lo he comprobado con el echo $cons;

¿Podríais echarme un cable para saber qué es lo que me falla? Gracias

PD: no inserta nada en la BD

Última edición por flash0mc; 13/12/2012 a las 22:47
  #2 (permalink)  
Antiguo 14/12/2012, 03:33
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Probelma con formularios HTML y envio de datos a PHP

Pues undefined index quiere decir que no está definido, que no existe.
Pero te da ese error incluso cuando rellenas todos los campos?

Por cierto el diseño del formulario deberías hacerlo con CSS y no con tablas.
  #3 (permalink)  
Antiguo 14/12/2012, 04:06
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Probelma con formularios HTML y envio de datos a PHP

Cuando tengas problemas con MySQL debes agregar un mysql_error después de un mysql_query para saber porque no "funciona", también es necesario que veas si la sentencia SQL se genera correctamente, en fin, has los cambios pertinentes y vuelve a probar...

Código PHP:
Ver original
  1. $cons="INSERT INTO test ('nombre','apellido','continente','pais','lugar','foto','descripcion',) VALUES ('".$nombre."','".$apellido."','".$continente."','".$pais."','".$lugar."','".$datos."','".$descripcion."')" or die(mysql_error());
  2. echo $cons;
  3.  
  4. mysql_query($cons,$desc) or die(mysql_error());
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: formulario, html, mysql, sql
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 21:30.