Foros del Web » Programando para Internet » PHP »

Volcado de datos desde un form a BD

Estas en el tema de Volcado de datos desde un form a BD en el foro de PHP en Foros del Web. Buenas amigos del foro: Les comento que estoy aprendiendo a trabajar con PHP y MySQL, y leyendo unos cuantos manuales estoy casi terminando de armar ...
  #1 (permalink)  
Antiguo 06/04/2006, 08:32
Avatar de El GURU  
Fecha de Ingreso: agosto-2005
Mensajes: 79
Antigüedad: 12 años, 3 meses
Puntos: 0
Volcado de datos desde un form a BD

Buenas amigos del foro:

Les comento que estoy aprendiendo a trabajar con PHP y MySQL, y leyendo unos cuantos manuales estoy casi terminando de armar un pequeño Script con un formulario, insertarlo en la base de datos y hacer una consulta.
Bueno mi problema es que no encuentro bien la manera de poder volvar los datos a la BD.
Vi varios ejemplos pero no pude lograr que funcione.
Bueno desde ya gracias de ante mano.

Saludos
__________________
www.alonso-argentina.com.ar
:adios: Lo esencial es invisible a los ojos. :adios:
  #2 (permalink)  
Antiguo 06/04/2006, 08:58
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 11 años, 11 meses
Puntos: 1
Publicá tu script y también los mensajes de error (si es que hay) asi vemos si podemos ayudarte.
Saludos.
__________________
¿Se me entiende la letra?
  #3 (permalink)  
Antiguo 06/04/2006, 09:04
Avatar de El GURU  
Fecha de Ingreso: agosto-2005
Mensajes: 79
Antigüedad: 12 años, 3 meses
Puntos: 0
Bueno aca va el script completo.

Nuevamente muchas gracias

<?
require ("grislet.variables.php");
}
if (!$HTTP_POST_VARS){
?><br>

<form action="grislet.prueba.php" method=post>
<div align="left">
<table border="0" width="417" height="15">
<tr>
<td colspan="2" width="299"></td>
</tr>
<tr>
<td width="230">
<h3 style="word-spacing: 0; margin-left: 10; margin-right: 0; margin-top: 0; margin-bottom: 0" align="left"><font face="Tahoma" size="1"><b>Usuario:&nbsp;</b></font></h3>
</td>
<td width="212"><font face="Tahoma" size="1"><input type=text name="usuario" size=25>
</font>
</td>
</tr>
<tr>
<td width="230">
<h3 style="word-spacing: 0; margin-left: 10; margin-right: 0; margin-top: 0; margin-bottom: 0" align="left"><font face="Tahoma" size="1"><b>Password:</b></font></h3>
</td>
<td width="212"><font face="Tahoma" size="1"><input type=text name=password size=25>
</font>
</td>
</tr>
<tr>
<td width="230">
<h3 style="word-spacing: 0; margin-left: 10; margin-right: 0; margin-top: 0; margin-bottom: 0" align="left"><font face="Tahoma" size="1"><b>Nombre:</b></font></h3>
</td>
<td width="212"><font face="Tahoma" size="1"><input type=text name=nombre size=25>
</font>
</td>
</tr>
<tr>
<td width="230">
<h3 style="word-spacing: 0; margin-left: 10; margin-right: 0; margin-top: 0; margin-bottom: 0" align="left"><font face="Tahoma" size="1"><b>Apellido:</b></font></h3>
</td>
<td width="212"><font face="Tahoma" size="1"><input type=text name=apellido size=25>
</font>
</td>
</tr>
<tr>
<td width="230">
<h3 style="word-spacing: 0; margin-left: 10; margin-right: 0; margin-top: 0; margin-bottom: 0" align="left"><font face="Tahoma" size="1"><b>Teléfono:</b></font></h3>
</td>
<td width="212"><font face="Tahoma" size="1"><input type=text name=telefono size=25>
</font>
</td>
</tr>
<tr>
<td width="230">
<h3 style="word-spacing: 0; margin-left: 10; margin-right: 0; margin-top: 0; margin-bottom: 0" align="left"><font face="Tahoma" size="1"><b>Dirección:</b></font></h3>
</td>
<td width="212"><font face="Tahoma" size="1"><input type=text name=direccion size=25>
</font>
</td>
</tr>
<tr>
<td width="230">
<h3 style="word-spacing: 0; margin-left: 10; margin-right: 0; margin-top: 0; margin-bottom: 0" align="left"><font face="Tahoma" size="1"><b>E-mail:</b></font></h3>
</td>
<td width="212"><font face="Tahoma" size="1"><input type=text name=email size=25>
</font>
</td>
</tr>
<tr>
<td width="230">
<h3 style="word-spacing: 0; margin-left: 10; margin-right: 0; margin-top: 0; margin-bottom: 0" align="left"><font face="Tahoma" size="1"><b>País:</b></font></h3>
</td>
<td width="212"><font face="Tahoma" size="1"><input type=text name=pais size=25>
</font>
</td>
</tr>
<tr>
<td colspan="2" width="299"></td>
</tr>
<tr>
<td width="265">
<p align="right">
<font face="Tahoma" size="1">
<input type=submit value="Enviar" style="font-family: Tahoma; font-size: 8 pt; font-weight: bold">
</font>
</td>
<td width="109">
<font face="Tahoma" size="1">
<input type=reset value="Borrar" style="font-family: Tahoma; font-size: 8 pt; font-weight: bold">
</font>
</td>
</tr>
</table>
</div>
<p align="left">
</form>

<?
}
$usuario=$_POST['usuario'];
$password=$_POST['password'];
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
$telefono=$_POST['telefono'];
$direccion=$_POST['direccion'];
$email=$_POST['email'];
$pais=$_POST['pais'];


//echo "Usuario: $usuario";




$db_conexion= mysql_connect("$sql_host", "$sql_usuario", "$sql_pass") or die("No se pudo conectar a la Base de datos") or die(mysql_error());
$seleccion=mysql_select_db("$sql_db") or die(mysql_error());


mysql_query("INSERT IN TO `grislet_usuarios` `id`,`usuario`,`password`,`nombre`,`apellido`,`tel efono`,`direccion`,`email`,`pais` VALUE(``,`$usuario`,`$password`,`$nombre`,`$apelli do`,`$telefono`,`$direccion`,`$email`,`$pais`)") or die("No se puede realizar el volcado de los datos a la BD") or die(mysql_error());;



$consulta=mysql_query("SELECT * FROM grislet_usuarios ORDER BY `id` ASC ") or die("No se pudo realizar la consulta a la Base de datos");
while($item=mysql_fetch_array($consulta))
{
//echo "nombre: $item[usuario]";
//echo "nombre: $item[nombre]";
}


mysql_close();
?>
__________________
www.alonso-argentina.com.ar
:adios: Lo esencial es invisible a los ojos. :adios:
  #4 (permalink)  
Antiguo 06/04/2006, 09:24
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 11 años, 11 meses
Puntos: 1
Bueno, en principio, tres cositas:
- Hay un error de sintaxis en la línea 3 (el } esta de más)
- No se porque utilizas primero $HTTP_POST_VARS y luego $_POST. Creo que deberías utilizas siempre $_POST.
- Y creo que te falta el "else" del if, para que no intente agregar los datos a la base cuando no los hay.
Prueba con estos cambios y luego nos comentas el resultado:
Código PHP:
<?
require ("grislet.variables.php");

if (!
$_POST){ 
?><br>

<form method="post"> 
.... todo lo demas 
</form> 

<?

else {
$usuario=$_POST['usuario'];
$password=$_POST['password'];
....
//todo lo demas
mysql_close();
}
?>
Saludos.
__________________
¿Se me entiende la letra?
  #5 (permalink)  
Antiguo 06/04/2006, 09:50
Avatar de El GURU  
Fecha de Ingreso: agosto-2005
Mensajes: 79
Antigüedad: 12 años, 3 meses
Puntos: 0
Gracias por responder Jorgito.

Mira creo que el problema lo tengo en esta linea.

//mysql_query("INSERT IN TO `grislet_usuarios` `id`,`usuario`,`password`,`nombre`,`apellido`,`tel efono`,`direccion`,`email`,`pais` VALUE(``,`$usuario`,`$password`,`$nombre`,`$apelli do`,`$telefono`,`$direccion`,`$email`,`$pais`)") or die("No se puede realizar el volcado de los datos a la BD") or die(mysql_error());

Ya que cuando la cargo el script no funciona y cuando la dejo en comentario, al menos se hace la consulta a la BD
__________________
www.alonso-argentina.com.ar
:adios: Lo esencial es invisible a los ojos. :adios:
  #6 (permalink)  
Antiguo 06/04/2006, 10:17
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 11 años, 11 meses
Puntos: 1
Probá hacer estos cambios:

Código PHP:
<?
mysql_query
("INSERT INTO grislet_usuarios (id, usuario, password, nombre,apellido, telefono, direccion, email, pais) VALUES('','$usuario','$password','$nombre','$apellido','$telefono','$direccion','$email','$pais')") or die(mysql_error());
?>
- Deberías utilizar comillas simples (') en vez de `.
- INTO se escribe todo junto.
- El nombre de la base de datos no se escribe entre comillas.
- El nombre de los campos tampoco va entre comillas y tienen que estar encerrados entre paréntesis.
- Te habias olvidado de la s en VALUES.

Te dejo un link al manual de mysql donde se explica la sintaxis del INSERT.

http://dev.mysql.com/doc/refman/4.1/en/insert.html

Saludos.
__________________
¿Se me entiende la letra?
  #7 (permalink)  
Antiguo 06/04/2006, 10:32
Avatar de El GURU  
Fecha de Ingreso: agosto-2005
Mensajes: 79
Antigüedad: 12 años, 3 meses
Puntos: 0
Amigo Jorguito

Ya estoy viendo el link que me pasaste.

Funciona Perfecto

MIL GRACIAS
__________________
www.alonso-argentina.com.ar
:adios: Lo esencial es invisible a los ojos. :adios:
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 04:39.