Foros del Web » Programando para Internet » PHP »

Enviar datos de Formulario a base de datos

Estas en el tema de Enviar datos de Formulario a base de datos en el foro de PHP en Foros del Web. Amigos, tratarè de preguntar lo mas simple posible. Es mi primera vez aqui, y espero yo ayudar alguna vez como se que me ayudaràn a ...
  #1 (permalink)  
Antiguo 29/09/2008, 14:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Enviar datos de Formulario a base de datos

Amigos,
tratarè de preguntar lo mas simple posible.
Es mi primera vez aqui, y espero yo ayudar alguna vez como se que me ayudaràn a mi.

Necesito crear un formulario con un par de campos y que al darle clic en "enviar", estos los guarde en una base de datos (de cualquier tipo) y yo pueda visualizar estos datos cada vez que yo ingresè información nueva.

Gracias.
  #2 (permalink)  
Antiguo 29/09/2008, 14:34
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Enviar datos de Formulario a base de datos

llevas algo hecho?
porque si tu pregunta es como hacerlo, porque no sabes, entonces aqui hay mucho ejemplos, buscalos en la FAQ de php o haz una busqueda interna en el foro.
O mas simple, en google.

Sabes crear formularios en html, no?
Sabes como retomar los valores en la siguiente pagina con php?
O el problema es como guardar en la DB?

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #3 (permalink)  
Antiguo 29/09/2008, 14:37
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Enviar datos de Formulario a base de datos

Claro,
tengo el formulario listo con 4 campos, que son los que necesito

Tengo creada la base de datos mdb, porque no necesito mas que eso, ya que es una base de datos pequeña. Pero lo que me falta es solo unir ambas cosas, o sea unir el form+mdb ="mostrar datos"

Me explico ?
  #4 (permalink)  
Antiguo 29/09/2008, 14:53
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Enviar datos de Formulario a base de datos

Hasta donde yo se, PHP no puede leer/escribir directamente en ficheros mdb (de Access) sino que para ello, necesitas hacer una conexion DSN configurada en tu servidor.

Repito, creo que esto es asi, si alguien tiene mas info al respecto, que lo diga, pero creo que tendras ese problema aunque el codigo sea valido estructuralmente.

Por que no usas Mysql?
  #5 (permalink)  
Antiguo 29/09/2008, 14:56
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Enviar datos de Formulario a base de datos

Con MySql no tengo problemas, y es buena opción.
Lo tengo instalado y todo, pero como era una base de datos pequeña, no quise entrar ahì.

Y si lo hago con MySql, como podría ser?
solo falta la conexion entre ambas.
  #6 (permalink)  
Antiguo 29/09/2008, 15:05
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Enviar datos de Formulario a base de datos

Bueno al parecer no manejas muy bien el mysql con el php, esto te servira muchisimo.
http://pa.php.net/manual/es/book.mysql.php

Primero creas la conexion con la DB
Luego haces las sentencias que necesitas, pero usando las funciones que hay en el enlace que te deje

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #7 (permalink)  
Antiguo 07/10/2008, 11:19
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Desacuerdo Respuesta: Enviar datos de Formulario a base de datos

Amigos, estuve averiguando y la verdad llegué a esto y no me funciona

Podrían ayudarme?
muchas gracias

-----------------------------------------------------

Este es mi codigo del Formulario de envio , con solo dos campos

<form action='grabar.php' method='post'>
<table bgcolor="#E9FFFF" align=center border=2>

<td align="right">Nombre....: </td>
<td align="left"> <input type="text" name="p_v1" value="" size=20></td><tr>
<td align="right">Edad....: </td>
<td align="left"> <input type="int" name="p_v2" value="" size=30></td><tr>


<td align=center><input type=submit value="Enviar"></td>
<td align=center><input type=reset value="Borrar"></td>
</table>
</body>
</html>

------------------------------------------------------------
Este es el código PHP de grabar.php
<?
$base="formulario";

$tabla="datos";

$v1=$p_v1;
$v2=$p_v2;

$conexion=mysql_connect("localhost","root","admin" )

mysql_select_db($base,$conexion);

mysql_query("INSERT $tabla (NOMBRE,EDAD) VALUES ('$v1','$v2')"$conexion;

if (mysql_errno($conexion)==0){echo "<h2>Registro AÑADIDO</b></H2>";
}else{
if (mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este DNI</h2>";
}else{
$numerror=mysql_errno($conexion);
$descrerror=mysql_error($conexion);
echo "Se ha producido un error nº $numerror que corresponde a: $descrerror <br>";
}

}

mysql_close();

?>

..............................
gracias
  #8 (permalink)  
Antiguo 07/10/2008, 12:14
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 19 años, 7 meses
Puntos: 71
Respuesta: Enviar datos de Formulario a base de datos

el eterno problema de register_globals=off....
Sin saber si quiera el error que te pueda estar dando, deberias cambias estas dos lineas:
...
$v1=$p_v1;
$v2=$p_v2;
...
Por estas:
...
$v1=$_POST['p_v1'];
$v2=$_POST['p_v2'];
...

Ademas de la linea donde haces la consulta sql, debe ser algo asi:

mysql_query("INSERT INTO $tabla (NOMBRE, EDAD) VALUES ('$v1', '$v2');", $conexion);

Pruebalo, y nos cuentas.

Cita:
Iniciado por dilagos Ver Mensaje
Amigos, estuve averiguando y la verdad llegué a esto y no me funciona

Podrían ayudarme?
muchas gracias

-----------------------------------------------------

Este es mi codigo del Formulario de envio , con solo dos campos

<form action='grabar.php' method='post'>
<table bgcolor="#E9FFFF" align=center border=2>

<td align="right">Nombre....: </td>
<td align="left"> <input type="text" name="p_v1" value="" size=20></td><tr>
<td align="right">Edad....: </td>
<td align="left"> <input type="int" name="p_v2" value="" size=30></td><tr>


<td align=center><input type=submit value="Enviar"></td>
<td align=center><input type=reset value="Borrar"></td>
</table>
</body>
</html>

------------------------------------------------------------
Este es el código PHP de grabar.php
<?
$base="formulario";

$tabla="datos";

$v1=$p_v1;
$v2=$p_v2;

$conexion=mysql_connect("localhost","root","admin" )

mysql_select_db($base,$conexion);

mysql_query("INSERT $tabla (NOMBRE,EDAD) VALUES ('$v1','$v2')"$conexion;

if (mysql_errno($conexion)==0){echo "<h2>Registro AÑADIDO</b></H2>";
}else{
if (mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este DNI</h2>";
}else{
$numerror=mysql_errno($conexion);
$descrerror=mysql_error($conexion);
echo "Se ha producido un error nº $numerror que corresponde a: $descrerror <br>";
}

}

mysql_close();

?>

..............................
gracias
  #9 (permalink)  
Antiguo 07/10/2008, 13:01
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Enviar datos de Formulario a base de datos

Amigo, gracias
pero reemplazé las lineas que me dijiste
y al momento de darle "enviar", me sucede esto:



gracias..
  #10 (permalink)  
Antiguo 07/10/2008, 13:15
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Enviar datos de Formulario a base de datos

es que quieres ver una pagina con codigo php y este tipo de formato solo puede ser visto con un servidor php, es decir, necesitas un apache para poder visualizar los php.....suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #11 (permalink)  
Antiguo 07/10/2008, 13:19
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Enviar datos de Formulario a base de datos

Tengo el Apache instalado localmente en mi Maquina y corriendo
  #12 (permalink)  
Antiguo 07/10/2008, 13:23
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Enviar datos de Formulario a base de datos

entonces ese archivo esta en otro directorio que no es el del www
ya debes saber que para correr una pagina php tiene que estar en el localhost.
suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #13 (permalink)  
Antiguo 07/10/2008, 13:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Enviar datos de Formulario a base de datos

ese error me da al grabar

Parse error: parse error, unexpected T_STRING in C:\Archivos de programa\xampp\htdocs\prueba\grabar.php on line 11
  #14 (permalink)  
Antiguo 07/10/2008, 13:32
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 8 meses
Puntos: 105
Respuesta: Enviar datos de Formulario a base de datos

seguro un campo de tu bd no coincide o estas que grabas algo invalido.....
para estos casos mejor pon tu codigo y aca estamos los del foro para ayudarte. suerte.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #15 (permalink)  
Antiguo 07/10/2008, 13:53
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Enviar datos de Formulario a base de datos

El código lo ingresé en el principio del post

Este es mi codigo del Formulario de envio , con solo dos campos

<form action='grabar.php' method='post'>
<table bgcolor="#E9FFFF" align=center border=2>

<td align="right">Nombre....: </td>
<td align="left"> <input type="text" name="p_v1" value="" size=20></td><tr>
<td align="right">Edad....: </td>
<td align="left"> <input type="int" name="p_v2" value="" size=30></td><tr>


<td align=center><input type=submit value="Enviar"></td>
<td align=center><input type=reset value="Borrar"></td>
</table>
</body>
</html>
------------------------------------------------------------
Este es el código PHP de grabar.php
<?
$base="formulario";

$tabla="datos";

$v1=$p_v1;
$v2=$p_v2;

$conexion=mysql_connect("localhost","root","admin" )

mysql_select_db($base,$conexion);

mysql_query("INSERT $tabla (NOMBRE,EDAD) VALUES ('$v1','$v2')"$conexion;

if (mysql_errno($conexion)==0){echo "<h2>Registro AÑADIDO</b></H2>";
}else{
if (mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este DNI</h2>";
}else{
$numerror=mysql_errno($conexion);
$descrerror=mysql_error($conexion);
echo "Se ha producido un error nº $numerror que corresponde a: $descrerror <br>";
}

}

mysql_close();

?>
  #16 (permalink)  
Antiguo 07/10/2008, 14:17
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: Enviar datos de Formulario a base de datos

Intenta con estos cambios amig@:
Código PHP:
<form action='grabar.php' method='post'>
<table bgcolor="#E9FFFF" align=center border=2>

<td align="right">Nombre....: </td>
<td align="left"> <input type="text" name="p_v1" value="" size=20></td><tr>
<td align="right">Edad....: </td>
<td align="left"> <input type="int" name="p_v2" value="" size=30></td><tr>


<td align=center><input type=submit value="Enviar"></td>
<td align=center><input type=reset value="Borrar"></td>
</table>
</body>
</html>
------------------------------------------------------------
Este es el código PHP de grabar.php
<?php
$base
="formulario";

$tabla="datos";

$v1=$_POST['p_v1'];
$v2=$_POST['p_v2'];

$conexion=mysql_connect("localhost","root","admin");

mysql_select_db($base,$conexion);

mysql_query("INSERT into ".$tabla." (NOMBRE,EDAD) VALUES ('".$v1."','".$v2."')"$conexion);

if (
mysql_errno($conexion)==0){echo "<h2>Registro A&Ntilde;ADIDO</b></H2>";
}else{
if (
mysql_errno($conexion)==1062){echo "<h2>No ha podido a&ntilde;adirse el registro<br>Ya existe un campo con este DNI</h2>";
}else{
$numerror=mysql_errno($conexion);
$descrerror=mysql_error($conexion);
echo 
"Se ha producido un error nº ".$numerror." que corresponde a: ".$descrerror." <br>";
}

}

mysql_close();

?>
Otra cosa, debes asegurarte que los campos tienen exactamente ese nombre, con las mayúsculas y todo!.

Salu2
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.

Última edición por the_web_saint; 07/10/2008 a las 14:18 Razón: otra razón
  #17 (permalink)  
Antiguo 08/10/2008, 08:11
 
Fecha de Ingreso: septiembre-2008
Mensajes: 41
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Enviar datos de Formulario a base de datos

Gracias compañeros a todos
si me funciona ahora
se pasaron.
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 20:36.