Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Insertar mas de 15 registros de un formulario

Estas en el tema de Insertar mas de 15 registros de un formulario en el foro de PHP en Foros del Web. Buenas tardes a todos, estoy haciendo un formulario en php y los datos se van a guardar en una base de mysql, el problema es ...
  #1 (permalink)  
Antiguo 08/04/2014, 18:20
 
Fecha de Ingreso: marzo-2014
Mensajes: 18
Antigüedad: 10 años, 1 mes
Puntos: 1
Pregunta Insertar mas de 15 registros de un formulario

Buenas tardes a todos, estoy haciendo un formulario en php y los datos se van a guardar en una base de mysql, el problema es que estoy usando dreamweaver como editor de texto, pero llega un momento que ya no me deja seguir acomodando la información y obviamente se corta y me manda error, les paso el código de insersión a ver si me pueden ayudar por favor

mysql_query ("INSERT INTO registrorn

(dbo.nombre,dbo.ap,dbo.am,dbo.dep,dbo.cargo,dbo.pu esto,dbo.calle,dbo.num,dbo.col,dbo.cd,dbo.cp,dbo.t elof,dbo.fax,dbo.mail,dbo.telcel,dbo.hotel,dbo.hab ,dbo.trans)VALUES('$nombre','$ap','$am','$dep','$_ POST['cargo']','$_POST['lista']','$_POST['puesto']','$calle','$num','$col','$cd','$cp','$telof','$fa x','$mail','$telcel','$hotel','$hab','$_POST['transporte']')" ,$con);

así es como me aparece en dreamweaver y no me deja acomodar los datos
  #2 (permalink)  
Antiguo 08/04/2014, 18:26
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Insertar mas de 15 registros de un formulario

Agrega un espacio después de cada coma, te evitarás problemas y quedará un poco más legible tu código.

P.D. Dreamweaver no es lo más recomendado para programar, mucho menos si es una versión antigua. Notepad++ es una excelente alternativa.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 08/04/2014, 18:29
 
Fecha de Ingreso: marzo-2014
Mensajes: 18
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Insertar mas de 15 registros de un formulario

Cita:
Iniciado por Triby Ver Mensaje
Agrega un espacio después de cada coma, te evitarás problemas y quedará un poco más legible tu código.

P.D. Dreamweaver no es lo más recomendado para programar, mucho menos si es una versión antigua. Notepad++ es una excelente alternativa.

gracias por tu respuesta, déjame agregar los espacios y estoy usando dreamweaver 8

te aviso como me va déjame lo hago
  #4 (permalink)  
Antiguo 08/04/2014, 18:35
 
Fecha de Ingreso: marzo-2014
Mensajes: 18
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Insertar mas de 15 registros de un formulario

ya lo hize y me quedó asi:

mysql_query ("INSERT INTO registrorn (dbo.nombre, dbo.ap, dbo.am, dbo.dep, dbo.cargo, dbo.puesto, dbo.calle, dbo.num, dbo.col, dbo.cd, dbo.cp, dbo.telof, dbo.fax, dbo.mail, dbo.telcel, dbo.hotel, dbo.hab, dbo.trans)VALUES('$nombre', '$ap', '$am', '$dep', '$_POST['cargo']', '$_POST['lista']', '$_POST['puesto']', '$calle', '$num', '$col', '$cd', '$cp', '$telof', '$fax', '$mail', '$telcel', '$hotel', '$hab', '$_POST['transporte']')" ,$con);

Y me sigue dando este error

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\AppServ\www\Reunion\insert3.php on line 49

la línea 49 es donde comienza el mysql_query
  #5 (permalink)  
Antiguo 08/04/2014, 20:08
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Insertar mas de 15 registros de un formulario

O cambias de editor, o creas la consulta poco a poco, ejemplo:

Código PHP:
Ver original
  1. $sql = "INSERT INTO registrorn (campo1, campo2, ...";
  2. $sql .= " campoN) VALUES($var1, $var2, ...";
  3. $sql .= "'{$_POST['post1']}', {$_POST['post1']}', $varN)";
  4.  
  5. mysql_query($sql) or die('Error en consulta: ' . mysql_error());

Ojo con las llaves para delimitar los elementos de $_POST y la parte del or die() por si hay algún error, para que puedas identificarlo fácilmente.
__________________
- León, Guanajuato
- GV-Foto
  #6 (permalink)  
Antiguo 08/04/2014, 22:24
Avatar de temerariomalaga  
Fecha de Ingreso: marzo-2013
Ubicación: Londres
Mensajes: 156
Antigüedad: 11 años, 1 mes
Puntos: 9
Respuesta: Insertar mas de 15 registros de un formulario

Yo creo que el error está al final de la consulta que cierras las comillas de la consulta después del parentesis '$_POST['transporte']')"
Eso debería ir así '$_POST['transporte']'")
Pruebalo porque es el fallo que yo le veo y como dijo Triby utiliza mejor notepad++ para programar.
__________________
Málaga Club de Fútbol: Memoria, Compromiso, Fe
  #7 (permalink)  
Antiguo 14/04/2014, 17:20
 
Fecha de Ingreso: marzo-2014
Mensajes: 18
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Insertar mas de 15 registros de un formulario

muchas gracias por sus respuestas, ya instale el notepad++ mucho mejor jeje

ahora la bronca es que si me manda el mensaje que los datos se insertaron con éxito, pero no se registran en la base de datos, alguna idea?

lo más curioso es que tengo este pequeño formulario y trabaja perfectamente, no veo la direrencia para que con más datos no funcione, la base de datos para no errarle la declare toda en varchar, pero ni así

<?php
include("conect.php");

if(isset ($_POST['nombre']) && !empty($_POST['nombre']) &&
isset ($_POST['ap']) && !empty($_POST['ap']) &&
isset ($_POST['am']) && !empty($_POST['am']) &&
isset ($_POST['puesto']) && !empty($_POST['puesto']))
{
$con =mysql_connect($host,$user,$pw) or die ("problemas al conectar");
mysql_select_db ($db,$con) or die ("problemas al conectar");

$nombre=strtoupper($_POST['nombre']);
$ap=strtoupper($_POST['ap']);
$am=strtoupper($_POST['am']);


mysql_query ("INSERT INTO registro (NOMBRE,AP,AM,PUESTO,ESTADO) VALUES ('$nombre','$ap','$am','$_POST[puesto]','$_POST[lista]')",$con);

echo "Datos insertados con exito";
}else{
echo "No se insertaron los datos";

}
?>

Última edición por costecho; 14/04/2014 a las 19:23
  #8 (permalink)  
Antiguo 15/04/2014, 16:31
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Insertar mas de 15 registros de un formulario

Si podemos ver tu script completo, no solo la consulta, tal vez sea más fácil saber lo que está pasando.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 21/04/2014, 12:48
 
Fecha de Ingreso: marzo-2014
Mensajes: 18
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Insertar mas de 15 registros de un formulario

Cita:
Iniciado por Triby Ver Mensaje
Si podemos ver tu script completo, no solo la consulta, tal vez sea más fácil saber lo que está pasando.
Hola, te muestro todo el script

Saludos

Este es el formulario de captura

Código PHP:
Ver original
  1. <?php
  2. include("conect.php");
  3. $conexion = mysql_connect("$host","$user","$pw");
  4. mysql_select_db("reunion",$conexion);
  5. $busca = "select * from estados order by EDO asc";
  6. $resultado = mysql_query($busca);
  7.  
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10. <html xmlns="http://www.w3.org/1999/xhtml">
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  13. <title>Registro de Participantes</title>
  14. </head>
  15.  
  16. <body>
  17. <form action="insert3.php" method ="post" name= "form">
  18.  
  19. <p><strong>Datos Personales </strong></p>
  20. <label> Nombre(s)* </label> <input type="text" name="nombre" /><br /><br />
  21. <label> Apellido Paterno * </label> <input type="text" name="ap" /><br /><br />
  22. <label> Apellido Materno *</label> <input type="text" name="am" /><br /><br />
  23. <label> Dependencia *</label> <input type="text" name="dep" /><br /><br />
  24. <label> Cargo *</label> <select name="cargo"><br />
  25.         <option value="">SELECCIONAR</option>
  26.         <option value="SECRETARIO">SECRETARIO</option>
  27.         <option value="SUBSECRETARIO">SUBSECRETARIO</option>
  28.         <option value="SECRETARIO PARTICULAR">SECRETARIO PARTICULAR</option>
  29.         <option value="DIRECTOR GENERAL">DIRECTOR GENERAL</option>
  30.         <option value="DIRECTOR DE ÁREA">DIRECTOR DE ÁREA</option>
  31.         <option value="SUBDIRECTOR">SUBDIRECTOR</option>
  32.         <option value="ASESOR">ASESOR</option>
  33.         <option value="CONFERENCISTA">CONFERENCISTA</option>
  34.         <option value="OTRO">OTRO</option>
  35.         </select>
  36.         <br /> <br />
  37.  
  38.  
  39.       <label> Estado de Procedencia </label> <select name="lista"><br />
  40.         <?php while ($arreglo= mysql_fetch_array ($resultado)) { ?>
  41.         <option value="<?php echo $arreglo ['EDO']?>"> <?php echo $arreglo ['EDO']?></option>      
  42.        
  43.         <?php } ?>
  44.                
  45.     </select>
  46.     </label> <br /> <br />
  47.    
  48. <p><strong>Cargo dentro del Organigrama de la CPCE-F</strong><br />
  49. </p>
  50. <label> Cargo/Puesto * </label> <select name="puesto"><br />
  51.         <option value="">SELECCIONAR</option>
  52.         <option value="PRESIDENTE">PRESIDENTE</option>
  53.         <option value="PRESIDENTE SUPLENTE">PRESIDENTE SUPLENTE</option>
  54.         <option value="ASESOR TÉCNICO">ASESOR TÉCNICO</option>
  55.         <option value="COORDINADOR NACIONAL">COORDINADOR NACIONAL</option>
  56.         <option value="COORDINADOR NACIONAL SUPLENTE A">COORDINADOR NACIONAL SUPLENTE A</option>
  57.         <option value="COORDINADOR NACIONAL SUPLENTE B">COORDINADOR NACIONAL SUPLENTE B</option>
  58.         <option value="COORDINADOR REGIONAL">COORDINADOR REGIONAL</option>
  59.         <option value="COORDINADOR SUPLENTE">COORDINADOR SUPLENTE</option>
  60.         <option value="SECRETARIO TÉCNICO NACIONAL">SECRETARIO TÉCNICO NACIONAL</option>
  61.         <option value="SECRETARIO TÉCNICO REGIONAL">SECRETARIO TÉCNICO REGIONAL</option>
  62.         <option value="INTEGRANTE">INTEGRANTE</option>
  63.         <option value="CONFERENCISTA">CONFERENCISTA</option>
  64.         <option value="INVITADO">INVITADO</option>
  65.         <option value="OTRO">OTRO</option>
  66.         </select>
  67.         <br /> <br />
  68.        
  69. <p>Dirección Oficial</p><br />
  70.  
  71. <label> Calle * </label> <input type="text" name="calle" /><br /><br />
  72. <label> Número *</label> <input type="text" name="num" /><br /><br />
  73. <label> Colonia *</label> <input type="text" name="col" /><br /><br />
  74. <label> Ciudad *</label> <input type="text" name="cd" /><br /><br />
  75. <label> Código Postal *</label> <input type="number" name="cp" /><br /><br />      
  76. <label> Teléfono Oficial (con lada) *</label> <input type="number" name="teloff" /><br /><br />
  77. <label> Fax *</label> <input type="number" name="fax" /><br /><br />
  78. <label> Correo Electrónico *</label> <input type="text" name="mail" /><br /><br />
  79. <label> Teléfono Celular</label> <input type="number" name="telcel" /><br /><br />
  80.  
  81. <p>Información de Hospedaje y Transporte</p><br />
  82.  
  83. <label> Hotel donde se hospedará * </label> <input type="text" name="hotel" /><br /><br />
  84. <label> Habitación * </label> <input type="text" name="hab" /><br /><br />
  85.  
  86. <label> Transporte * </label> <select name="transporte"><br />
  87.         <option value="">Seleccionar</option>
  88.         <option value="aereo">Aéreo</option>
  89.         <option value="terrestre">Terrestre</option>
  90.         </select>
  91.         <br /> <br />
  92.    
  93.     <input type="submit" value="Enviar Datos" />  &nbsp; &nbsp; <input type="reset" value="limpiar" />
  94.     <form/>
  95.    
  96.      
  97. </body>
  98. </html>


Este es el archivo que guarda los datos

Código PHP:
Ver original
  1. <?php
  2. include("conect1.php");
  3.  
  4. if(isset ($_POST['nombre']) && !empty($_POST['nombre']) &&
  5. isset ($_POST['ap']) && !empty($_POST['ap']) &&
  6. isset ($_POST['am']) && !empty($_POST['am']) &&
  7. isset ($_POST['dep']) && !empty($_POST['dep']) &&
  8. isset ($_POST['calle']) && !empty($_POST['calle']) &&
  9. isset ($_POST['num']) && !empty($_POST['num']) &&
  10. isset ($_POST['col']) && !empty($_POST['col']) &&
  11. isset ($_POST['cd']) && !empty($_POST['cd']) &&
  12. isset ($_POST['cp']) && !empty($_POST['cp']) &&
  13. isset ($_POST['teloff']) && !empty($_POST['teloff']) &&
  14. isset ($_POST['fax']) && !empty($_POST['fax']) &&
  15. isset ($_POST['mail']) && !empty($_POST['mail']) &&
  16. isset ($_POST['hotel']) && !empty($_POST['hotel']) &&
  17. isset ($_POST['hab']) && !empty($_POST['hab']))
  18. {
  19.  $con =mysql_connect($host,$user,$pw) or die ("problemas al conectar");
  20.  mysql_select_db ($db,$con) or die ("problemas al conectar");
  21.  
  22.  
  23.  $nombre=strtoupper($_POST['nombre']);
  24.  $ap=strtoupper($_POST['ap']);
  25.  $am=strtoupper($_POST['am']);
  26.  $dep=strtoupper($_POST['dep']);
  27.  $cargo= $_POST['cargo'];
  28.  $estado= $_POST['lista'];
  29.  $puesto= $_POST['puesto'];
  30.  $calle=strtoupper($_POST['calle']);
  31.  $num=$_POST['num'];
  32.  $col=strtoupper($_POST['col']);
  33.  $cd=strtoupper($_POST['cd']);
  34.  $cp=$_POST['cp'];
  35.  $telof=$_POST['teloff'];
  36.  $fax=$_POST['fax'];
  37.  $mail=$_POST['mail'];
  38.  $telcel=$_POST['telcel'];
  39.  $hotel=strtoupper($_POST['hotel']);
  40.  $hab=$_POST['hab'];
  41.  $trans=$_POST['transporte'];
  42.  
  43.  
  44.  echo $nombre. "<br>";
  45.  echo $ap."<br>";
  46.  echo $am."<br>";
  47.  echo $dep. "<br>";
  48.  echo $cargo."<br>";
  49.  echo $puesto."<br>";
  50.  echo $estado. "<br>";
  51.  echo $calle."<br>";
  52.  echo $num."<br>";
  53.  echo $col. "<br>";
  54.  echo $cd."<br>";
  55.  echo $cp."<br>";
  56.  echo $telof. "<br>";
  57.  echo $fax."<br>";
  58.  echo $mail."<br>";
  59.  echo $telcel. "<br>";
  60.  echo $hotel."<br>";
  61.  echo $hab."<br>";
  62.  echo $trans. "<br>";
  63.  
  64.  
  65.  mysql_query ("INSERT INTO registrorn (dbo.nombre, dbo.ap, dbo.am, dbo.dep, dbo.cargo, dbo.puesto, dbo.edo, dbo.calle, dbo.num, dbo.col, dbo.cd, dbo.cp, dbo.telof, dbo.fax, dbo.mail, dbo.telcel, dbo.hotel, dbo.hab, dbo.trans) VALUES ('$nombre', '$ap', '$am', '$dep', '$cargo', '$puesto', '$estado', '$calle', '$num', '$col', '$cd', '$cp', '$telof', '$fax', '$mail', '$telcel', '$hotel', '$hab', '$trans')" ,$con);
  66.  
  67.                  
  68.  
  69.  echo "Datos insertados con exito";
  70.  }else{
  71.    
  72.    
  73.     echo "No se insertaron los datos";
  74.  
  75. }
  76. ?>

Los echos solo los puse para ver si se estaban capturando correctamente los datos

Última edición por Triby; 21/04/2014 a las 16:53 Razón: Código en Highlight
  #10 (permalink)  
Antiguo 21/04/2014, 17:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Insertar mas de 15 registros de un formulario

Código PHP:
Ver original
  1. $sql = "INSERT INTO registrorn (dbo.nombre, dbo.ap, dbo.am, dbo.dep, dbo.cargo, dbo.puesto, dbo.edo, dbo.calle, dbo.num, dbo.col, dbo.cd, dbo.cp, dbo.telof, dbo.fax, dbo.mail, dbo.telcel, dbo.hotel, dbo.hab, dbo.trans) ";
  2. $sql .= "VALUES ('$nombre', '$ap', '$am', '$dep', '$cargo', '$puesto', '$estado', '$calle', '$num', '$col', '$cd', '$cp', '$telof', '$fax', '$mail', '$telcel', '$hotel', '$hab', '$trans')";
  3.  
  4. // Muestra la consulta, para copiarla y ejecutarla en PhpMyAdmin
  5. echo $sql;
  6.  
  7. // Asegúrate de saber si hay un error y cuál es
  8. mysql_query($sql, $con) or die('Error en consulta: ' . mysql_error());

Estás incluyendo cadenas sin escapar en la consulta, eso es una causa muy común de errores, ejemplo:

$nombre = mysql_real_escape_string($_POST['nombre']);

Más info en: http://www.forosdelweb.com/f18/aport...8/#post4265377
__________________
- León, Guanajuato
- GV-Foto
  #11 (permalink)  
Antiguo 21/04/2014, 18:45
 
Fecha de Ingreso: marzo-2014
Mensajes: 18
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Insertar mas de 15 registros de un formulario

Cita:
Iniciado por Triby Ver Mensaje
Código PHP:
Ver original
  1. $sql = "INSERT INTO registrorn (dbo.nombre, dbo.ap, dbo.am, dbo.dep, dbo.cargo, dbo.puesto, dbo.edo, dbo.calle, dbo.num, dbo.col, dbo.cd, dbo.cp, dbo.telof, dbo.fax, dbo.mail, dbo.telcel, dbo.hotel, dbo.hab, dbo.trans) ";
  2. $sql .= "VALUES ('$nombre', '$ap', '$am', '$dep', '$cargo', '$puesto', '$estado', '$calle', '$num', '$col', '$cd', '$cp', '$telof', '$fax', '$mail', '$telcel', '$hotel', '$hab', '$trans')";
  3.  
  4. // Muestra la consulta, para copiarla y ejecutarla en PhpMyAdmin
  5. echo $sql;
  6.  
  7. // Asegúrate de saber si hay un error y cuál es
  8. mysql_query($sql, $con) or die('Error en consulta: ' . mysql_error());

Estás incluyendo cadenas sin escapar en la consulta, eso es una causa muy común de errores, ejemplo:

$nombre = mysql_real_escape_string($_POST['nombre']);

Más info en: [url]http://www.forosdelweb.com/f18/aporte-seguridad-basica-php-1011808/#post4265377[/url]
Tribi ya modifique mi consulta como me lo pusiste, pero me dice que los datos se han insertado y no me muestra ninguna consulta en pantalla ni ningún error para ponerlo en el myphp me estoy volviendo loco grrr
  #12 (permalink)  
Antiguo 22/04/2014, 00:50
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Insertar mas de 15 registros de un formulario

A ver, ya no entendí... si pusiste echo "algo que se debería mostrar en pantalla"; y no se muestra... será porque el error está en otra parte y no ahí?
__________________
- León, Guanajuato
- GV-Foto
  #13 (permalink)  
Antiguo 24/04/2014, 11:21
 
Fecha de Ingreso: marzo-2014
Mensajes: 18
Antigüedad: 10 años, 1 mes
Puntos: 1
Respuesta: Insertar mas de 15 registros de un formulario

Cita:
Iniciado por Triby Ver Mensaje
A ver, ya no entendí... si pusiste echo "algo que se debería mostrar en pantalla"; y no se muestra... será porque el error está en otra parte y no ahí?
Hola Triby, no se que estaba pasando, a lo mejor me falto una comilla o algo, pero comencé a dar de alta campo por campo en el formulario, en la pagina que los procesa y en la base de datos y me fue funcionando todo a la perfección, me permitió agregar todos esos registros, en verdad te agradezco mucho tu ayuda,

saludos y gracias
  #14 (permalink)  
Antiguo 24/04/2014, 18:16
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Insertar mas de 15 registros de un formulario

Genial, me alegro que lo hayas solucionado!
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: formulario, mysql, registro, registros
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 10:36.