Ingresar datos a una BD mysql... ?
Juan Manuel Doren
jm.doren en ok.cl
Lun Sep 29 18:52:04 CLT 2008
te sugiero que formes el $query de esta manera
#Query = sprintf( "INSERT INTO formulario(rut,dig....) VALUES ( '%s', '%s' )"
,mysql_escape_string( $_POST['rut'] )
,mysql_escape_string( $_POST['dig'] ));
mysql_escape_string previene que alguien meta como nombre algo como;
";delete from formulario;
o que te de errores si el nombre tiene comilas ( Pepe O'Ryan, "el capo" )
se puede configurar el php para que prevenga tambien, pero es mejor
asegurarse......
2008/9/29 Pedro Silva <pedro.se en gmail.com>:
> Hola lista, soy un muy iniciado en php...
>
> Tengo que crear una paginita simple que haga lo siguiente:
>
> Se ingresen los datos a un formulario y estos datos sean enviados a un php
> que lo guardara en una BD, pero cada vez que trato de guardar me manda el
> siguiente error:
>
> "Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting
> T_STRING or T_VARIABLE or T_NUM_STRING in
> /home/psilva/public_html/formulario/form.php on line 7"
>
> Esta es la linea 7:
>
> $Query="INSERT into
> formulario(rut,dig,nombres,apellidos,codciu,fonofijo,codcel,fonocel,mail)VALUES('$_POST['rut']','$_POST['dig']','$_POST['nombres']','
> $_POST['apellidos']','$_POST['codciu']','$_POST['fonofijo']','$_POST['codcel']','$_POST['fonocel']','$_POST['mail']')";
>
> La conexión con la bd se realiza, pero me tira el mensaje de mas arriba la
> hacer clic en guardar...
>
> Aqui va el formulario:
>
> <html><head><title>Formulario</title></head>
> <body>
> <form action="form.php" method=post>
> rut y digito<input type="text" name="rut"size="8" maxlength="8">-<input
> type="text" name="dig" size="1" maxlength="1"><br>
> nombres<input type="text" name="nombres" size="30" maxlength="30"><br>
> apellidos<input type="text" name="apellidos" size="30" maxlength="30"><br>
> fono casa<input type="text" name="codciu" size="2" maxlength="2">-<input
> type="text" name="fonofijo" size="7" maxlength="7"><br>
> fono cel<input type="text" name="codcel" size="2" maxlength="2">-<input
> type="text" name="fonofijo" size="8" maxlength="8"><br>
> email<input type="text" name="mail" size="35" maxlength="35"><br>
> <input type="Submit" value="Guardar" name="Aceptar"><input type="Reset"
> value="Limpiar" name="Limpiar"><br>
> </form>
> </body>
> </html>
>
> form.php
>
> <?php
> 5 include("conex.php");
> 6 $link=Conectarse();
> 7 $Query="INSERT into
> formulario(rut,dig,nombres,apellidos,codciu,fonofijo,codcel,fonocel,mail)VALUES('$_POST['rut']','$_POST['dig']','$_POST['nombres']','
> $_POST['apellidos']','$_POST['codciu']','$_POST['fonofijo']','$_POST['codcel']','$_POST['fonocel']','$_POST['mail']')";
> 8 ?>
>
> conex.php
>
> <?
> /* Conexion con la Base de Datos */
> function Conectarse()
> {
> if (!($link=mysql_connect("localhost","pruebas","pruebas_")))
> {
> echo "Error al conectar la base de datos.";
> exit();
> }
> if (!mysql_select_db("prueba_bd",$link))
> {
> echo "Error al seleccionar la base de datos.";
> exit();
> }
> return $link;
> }
> ?>
>
> Les estare muy agradecidos si me diecen por donde puede estar el problema.
>
> Saludos.
>
> Pedro.
>
>
>
--
Juan Manuel Doren
Santiago, Chile
Más información sobre la lista de distribución PHP