Autor
|
Tema: Como enviar los datos a la Base de Datos (Leído 7,841 veces)
|
giagete
Desconectado
Mensajes: 85
Novato
|
Hola, soy un noob en este mundo y estoy intentando crear una web, y quería crear un formulario para que los datos que recoja fueran directamente a la Base de Datos, eso es podible? Como crearía el formulario para que conectaran? Por favor ayudarme, esto escapa de mis conocimientos. Si podeis decirme una cosa lo mas sencilla psible, luego yo la decoro y si es podible la mejoro...
Gracias por adelantado
|
|
|
En línea
|
|
|
|
Agente Naranja
Desconectado
Mensajes: 535
uguu~
|
Hola, esto lo haces con algún lenguaje de servidor, el más usado (por ser gratis) es PHP, y lo de enviar los datos a un archivo PHP lo puedes hacer desde las etiquetas HTML del formulario, así: <form method="POST" action="archivo.php">
Donde METHOD puede ser, o bien GET, o bien POST, ya según lo que necesites, aunque lo normal es POST. Y luego ACTION es el archivo PHP al que vas a mandar los datos, que ya se encargará de hacer lo que sea con ellos, bien sea meterlos en una base de datos, bien sea enviarlos por email, lo que tu le pongas. Si te interesa meterlos en una base de datos, y si de base de datos usas mysql (tambien muy usada, por ser gratuita) tu primer paso sería aprender algo de PHP; y luego leerte sobre las funciones PHP para bases de datos. He dicho mysql_connect, mysql_pconnect, mysql_select_db, mysql_query, mysql_error.Un saludo.
|
|
|
En línea
|
|
|
|
giagete
Desconectado
Mensajes: 85
Novato
|
Haber, el formularo lo se hacer.. es más, quie te posteo uno que tengo.. lo que no se hacer es conectarlo a la base de datos, imagino que seran una o dos líneas indicando la base de datos, el nombre de usuario, la contraseña, la tabla, etc... Mira, este es mi formulario: <form action="engranes.php" method="post"> <table border="0" align="center"> <tr> <td colspan="2"><div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Contacto</font></div></td> </tr> <tr> <td><div align="right"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nombre:</font></strong></div></td> <td><input name="nombre" type="text"> </td> </tr> <tr> <td><div align="right"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">E-Mail:</font></strong></div></td> <td><input name="email" type="text"> </td> </tr> <tr> <td><div align="right"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">URL:</font></strong></div></td> <td><input name="url" type="text"> </td> </tr> <tr> <td><div align="right"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Asunto:</font></strong></div></td> <td><div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> <em> <input name="asunto" type="text"> </em></font></div></td> </tr> <tr> <td><div align="right"><strong><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Texto Completo:</font></strong></div></td> <td rowspan="2"><textarea name="texto" cols="25" rows="6"></textarea> </td> </tr> <tr> <td> </td> </tr> <tr> <td> </td> <td><input type="submit" name="enviar" value="Enviar"> <input type="reset" name="borrar" value="Borrar"></td> </tr> </table> </form> </p> </body> </html>
Con esto seríais capaz de explicarme como conectarlo a la BD? Agradezcom mucho vuestra ayuda!
|
|
|
En línea
|
|
|
|
Spider-Net
Desconectado
Mensajes: 1.165
Un gran poder conlleva una gran responsabilidad
|
Pues eso que quieres hacerno es complicado, a ver si no me equivoco sería algo así: Suponiendo que tienes una base de datos, con una tabla creada con los campos: nombre, email, url, asunto, texto. El archivo engranes.php sería tal que así: <?php // 1.- RECOGIDA DE DATOS DEL FORMULARIO $nombre=$_POST['nombre']; $email=$_POST['email']; $url=$_POST['url']; $asunto=$_POST['asunto']; $texto=$_POST['texto']; // 2.- IDENTIFICACION nombre de la base, del usuario, clave y servidor $db="nombredeladb"; $db_login="tunombredeusuario"; $db_pswd="tupass"; $link = mysql_connect("server.delabase.dedatos", $db_login, $db_pswd); // 3.- CONEXION A LA BASE DE DATOS // 4.- INSERCION DE DATOS NOMBREDELATABLA (nombre, email, url, asunto, texto) VALUES ('$nombre','$email','$url','$asunto','$texto')"); print("Datos agregados a la base."); ?>
Solo tienes que sustituir tu nombre de usuario y pass, el de la base de datos y tu server y por supuesto donde dice NOMBREDELATABLA pon el nombre de la tabla de tu base de datos. Con eso no deberías de tener más problemas para insertar los datos en la base de datos, espero que te sea de ayuda Saludos
|
|
|
En línea
|
|
|
|
giagete
Desconectado
Mensajes: 85
Novato
|
Muchas gracias, ahora lo pruebo.. y comento los resultados.
Me habeis ayudado mucho!
|
|
|
En línea
|
|
|
|
WHK
|
Ya veo esas inyecciones SQL y esos XSS Ponle filtros UTF-8: <?php // 1.- RECOGIDA DE DATOS DEL FORMULARIO SIN FILTROS $nombre_sf=$_POST['nombre']; $email_sf=$_POST['email']; $url_sf=$_POST['url']; $asunto_sf=$_POST['asunto']; $texto_sf=$_POST['texto']; // 2.- Filtramos en UTF-8 // 3.- IDENTIFICACION nombre de la base, del usuario, clave y servidor $db="nombredeladb"; $db_login="tunombredeusuario"; $db_pswd="tupass"; $link = mysql_connect("server.delabase.dedatos", $db_login, $db_pswd); // 4.- CONEXION A LA BASE DE DATOS // 5.- INSERCION DE DATOS NOMBREDELATABLA (nombre, email, url, asunto, texto) VALUES ('$nombre','$email','$url','$asunto','$texto')"); print("Datos agregados a la base."); ?>
|
|
|
En línea
|
|
|
|
giagete
Desconectado
Mensajes: 85
Novato
|
No es por molestar, pero los filtros UTF-8 para que sirven, estoy aprendiendo y me interesa todo... Y tengo una pregunta al crear la tabla en la BD... creo una tabla que se llama "formulario" se supone que con 5 campos no?, los mismos que opciones hay en el formulario. Hasta ahí creo que va todo bien. Luego a los campos les pongo el nombre de las opciones, "nombre" "url" "email"... Pero lo demas nose que poner, ¿Que tipo? ¿Que valores, cotejamiento, atributos, nulo, preterminado, extra....? Os agradeceria la ayuda
|
|
« Última modificación: 6 Septiembre 2007, 11:24 am por giagete »
|
En línea
|
|
|
|
giagete
Desconectado
Mensajes: 85
Novato
|
Me he documentado un poco y os voy a enseñar lo que tengo: (ME da error, lo pongo abajo) UN FORMULARIO SENCILLO <form name="formulario" action="insertar_datos.php" method="post"> E-mail: <input type="text" name="email"><br> Texto: <input type name="texto"><br> <input type="submit" name="enviar" value="Enviar"> </form>
CONECTANDO BD (insertar_datos.php) <?php
//Compruebo que ningún campo esté vacío y que todos los campos existan. if(isset($_POST['titulo']) && !empty($_POST['titulo']) && isset($_POST['contenido']) && !empty($_POST['contenido'])) {
// Si todo esta bien.
$link = mysql_connect("*******","*****","******"); mysql_select_db("**********",$link);
// Se inserta todo en la Base de Datos mysql_query("INSERT INTO formulario (titulo,contenido) VALUES ('{$_POST['titulo']}','{$_POST['contenido']}')",$link);
// Compruebo que todo va perfectamente $my_error = mysql_error($link);
if(!empty($my_error) {
echo "Ha habido un error al insertar los valores. $my_error";
} else {
echo "Los datos han sido introducidos satisfactoriamente";
}
} else {
echo "Error, no ha introducido todos los datos";
}
?> Parse error: syntax error, unexpected '{' in /home/virtual/sitio144456/www/user/insertar_datos.php on line 19 Me da este error, que fallo tiene..?
|
|
« Última modificación: 6 Septiembre 2007, 11:57 am por giagete »
|
En línea
|
|
|
|
Ertai
|
Linia 19: if(!empty($my_error)) {
|
|
|
En línea
|
Si la felicidad se comprara, entonces el dinero sería noble. void rotar_by_ref(int& a, int& b) { /* Quien dijo que no se podia sin una variable temporal? */ *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b; }
|
|
|
Agente Naranja
Desconectado
Mensajes: 535
uguu~
|
Pues el error está, como dice Ertaí, en que te has comido un paréntesis. Y lo de los filtros UTF, lo que hace es pasar las variables por un "encoder", o como se llame, una función que cambia todos los carácteres especiales (<,>,&...) y los convierte en HTML sencillo, para evitar algún posible crackeo a la base de datos. Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
XML como una base de datos??
« 1 2 »
.NET (C#, VB.NET, ASP)
|
G0kuu_G0kuu
|
14
|
11,374
|
15 Febrero 2011, 18:18 pm
por Novlucker
|
|
|
Enviar y Solicitar datos en Base de Datos mediante Winsock?
Programación Visual Basic
|
Brian1511
|
0
|
2,367
|
25 Noviembre 2012, 18:42 pm
por Brian1511
|
|
|
Ayuda p listar datos de base de datos y usar el valor para enviar a otra pagina
PHP
|
daciocco
|
1
|
2,988
|
31 Diciembre 2013, 16:26 pm
por #!drvy
|
|
|
Como cancelo enviar mis datos a google? -.-
Dudas Generales
|
AlbertoPerez
|
3
|
2,422
|
11 Octubre 2015, 22:51 pm
por AlbertoPerez
|
|
|
como enviar datos de una tabla de base de datos a combobox con php,JS y ajax
PHP
|
jesus1997
|
1
|
4,174
|
23 Enero 2017, 23:51 pm
por engel lex
|
|