Foros del Web » Programando para Internet » PHP »

Formulario php con MySQL

Estas en el tema de Formulario php con MySQL en el foro de PHP en Foros del Web. Buenas, estoy haciendo un formulario para un evento y que los datos se almacenen con mysql. Estoy teniendo problemas en la parte de hacer que ...
  #1 (permalink)  
Antiguo 04/11/2012, 15:56
 
Fecha de Ingreso: junio-2010
Mensajes: 36
Antigüedad: 13 años, 9 meses
Puntos: 0
Formulario php con MySQL

Buenas, estoy haciendo un formulario para un evento y que los datos se almacenen con mysql. Estoy teniendo problemas en la parte de hacer que los datos se guarden en mysql porque al parecer cuuando ejecuto el formulario y le doy enviar, no me agrega nada a la tabla de datos del mysql.
Les paso el codigo:

$id_articulo=$_POST["id_articulo"];
$nombre=$_POST["nombre"];
$email=$_POST["email"];
$comentario=$_POST["comentario"];

$host = "localhost";
$usuario = "****";
$clave = "****";
$bd = "dbformulario";
$connect=mysql_connect ($host, $usuario, $clave);

mysql_select_db ( $bd, $connect );

$query = 'INSERT INTO table1 (id_articulo, nombre, email, comentario, fecha) VALUES (\''.$id_articulo.'\',\''.$nombre.'\',\''.$email.' \',\''.$comentario.'\',\''.date("d-m-Y H:i:s").'\')';

mysql_query ($query, $connect) or die (mysql_error());
?>







Capaz que estoy poniendo mal el DB o la tabla a la que quiero insertar, el problema es que no tengo un buen manejo con mysql.
Agradeceria enormemente si alguien me pudiese ayudar.

Desde ya muchas gracias,

Bruno.
  #2 (permalink)  
Antiguo 04/11/2012, 16:04
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 6 meses
Puntos: 130
Respuesta: Formulario php con MySQL

Has probado si recibes los valores bien? haz echo a las variables:

echo $nombre, echo $email, etc..
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting

Última edición por CoriaWeb; 04/11/2012 a las 17:58 Razón: Edito
  #3 (permalink)  
Antiguo 04/11/2012, 20:19
 
Fecha de Ingreso: junio-2010
Mensajes: 36
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Formulario php con MySQL

Hola CoriaWeb, muchas gracias por la respuesta y la ayuda. Si he probado eso que me dijiste, pero cuando ejecuto el html en el navegador y le doy enviar en el formulario, me aparece una pantalla en blanco sin ningun texto ni nada.

Nuevamente muchas gracias,

bruno.
  #4 (permalink)  
Antiguo 04/11/2012, 20:21
 
Fecha de Ingreso: noviembre-2010
Mensajes: 62
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Formulario php con MySQL

el query esta mal, seria de esta manera:

Código PHP:
$query "INSERT INTO table1 (id_articulo, nombre, email, comentario, fecha) VALUES ('".$id_articulo."','".$nombre."','".$email."','".$comentario."','".date('d-m-Y H:i:s')."')"
  #5 (permalink)  
Antiguo 04/11/2012, 21:35
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 6 meses
Puntos: 130
Respuesta: Formulario php con MySQL

Si no te muestra nada es que no esta recogiendo los valores del formulario, muestras el formulario de donde envias los valores por post?
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #6 (permalink)  
Antiguo 05/11/2012, 14:42
 
Fecha de Ingreso: junio-2010
Mensajes: 36
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Formulario php con MySQL

Gracias Coria Web y grossofabian, te dejo ambos codigos, el html y el php:

el html:



<form name="comentarios" action="enviar2.php" method="post">
<input type="hidden" name="id_articulo" value="2">
Nombre: <input type="text" name="nombre"><br>
Email: <input type="text" name="email"><br>
Comentario:<br><textarea name="comentario" rows="5"></textarea><br>
<input type="submit" value="Enviar"><br>
</form>




el php:


<?php

header ("location: formulario-php-mysql.php#fcomentarios");

$id_articulo=$_POST["id_articulo"];
$nombre=$_POST["nombre"];
$email=$_POST["email"];


$host = "localhost";
$usuario = "xxxx";
$clave = "xxxx";
$bd = "xxxx";
$connect=mysql_connect ($host, $usuario, $clave);

$enlace=mysql_select_db ( $bd, $connect );
if (!$enlace) {
die('No pudo conectarse: ' . mysql_error());
}
echo 'Conectado satisfactoriamente';


$query = 'INSERT INTO table1 (id_articulo, nombre, email) VALUES ('.$id_articulo.','.$nombre.','.$email.')';

mysql_query ($query, $connect) or die (mysql_error());
?>



Muchas gracias por la ayuda,

Saludos.
  #7 (permalink)  
Antiguo 05/11/2012, 14:53
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 6 meses
Puntos: 130
Respuesta: Formulario php con MySQL

header ("location: formulario-php-mysql.php#fcomentarios"); ?? que hace esto al principio del documento?

Esto lo que hace es redireccionarte a la pagina que le indicas con lo que supongo que lo quieres asi pero deberias de ponerlo al final de ejecutarse todo el script y no al principio ;)

Código PHP:
Ver original
  1. <?php
  2.  
  3. $id_articulo=$_POST["id_articulo"];
  4. $nombre=$_POST["nombre"];
  5. $email=$_POST["email"];
  6.  
  7.  
  8. $host = "localhost";
  9. $usuario = "xxxx";
  10. $clave = "xxxx";
  11. $bd = "xxxx";
  12. $connect=mysql_connect ($host, $usuario, $clave);
  13.  
  14. $enlace=mysql_select_db ( $bd, $connect );
  15. if (!$enlace) {
  16. die('No pudo conectarse: ' . mysql_error());
  17. }
  18. echo 'Conectado satisfactoriamente';
  19.  
  20.  
  21. $query = 'INSERT INTO table1 (id_articulo, nombre, email) VALUES ('.$id_articulo.','.$nombre.','.$email.')';
  22.  
  23. mysql_query ($query, $connect) or die (mysql_error());
  24.  
  25. header ("location: formulario-php-mysql.php#fcomentarios");
  26. ?>
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #8 (permalink)  
Antiguo 05/11/2012, 17:46
 
Fecha de Ingreso: junio-2010
Mensajes: 36
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Formulario php con MySQL

Muchas gracias CoriaWeb! ya pude hacer que guardara los datos en la base de datos asi que genial. Lo unico que ahora estoy teniendo problemas es para hacer que solo se pueda enviar el formulario si esta clickeada la casilla de "aceto términos y condiciones", tienes alguna idea de como puedo hacer esto? estuve probando con algunos codigos pero ninguno fue efectivo. Capaz que es mejor que esto se haga por medio del html pero no se si se puede.

Denuevo muchisimas gracias por la ayuda, sin los aportes no lo podria haber realizado.

Saludos.
  #9 (permalink)  
Antiguo 05/11/2012, 18:04
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 6 meses
Puntos: 130
Respuesta: Formulario php con MySQL

¿Que tal pones un checkbox en el formulario? y en el php ago asi?

Código PHP:
Ver original
  1. if(isset($_POST['elchk']))
  2. {
  3. echo"Seleccionado";
  4. }
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #10 (permalink)  
Antiguo 05/11/2012, 18:15
 
Fecha de Ingreso: agosto-2012
Ubicación: Bilbao
Mensajes: 44
Antigüedad: 11 años, 7 meses
Puntos: 2
Jomsocial o Elgg?

Hola compañeros! Vengo con una pequeña dudita y es que quiero hacer una pequeña red social para la universidad y me preguntaba, entre Jomsocial (modulo de Joomla) y Elgg, modulos de desarrollo de redes sociales, cual veis mas preparado y adecuado para su utilizacion? Ya que supongo q tendran sus diferencias, mas que nada por el hecho de que Jomsocial es de pago y Elgg es gratuito y supongo q estara limitado hasta cierto punto.

Muchas gracias por adelantado.
  #11 (permalink)  
Antiguo 05/11/2012, 19:22
 
Fecha de Ingreso: junio-2010
Mensajes: 36
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Formulario php con MySQL

Gracias CoriaWeb, ya solucione el problema del checkbok desde el html era mas sencillo que hacerlo por el php. Pero los problemas siguen jaja, el problema es que ahora quiero hacer que luego de cierta cantidad de entradas a la base de datos, ya no se puedan agregar mas entradas al formulario, es decir que "corte" el formulario.

Muchas gracias,

Saludos.
  #12 (permalink)  
Antiguo 05/11/2012, 21:58
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 6 meses
Puntos: 130
Respuesta: Formulario php con MySQL

Desde el html era mas sencillo que desde php? como lo validas? ;).

Para contar los registros que tienes en la base de datos puedes usar mysql_num_rows, por ejemplo asi:

Código PHP:
Ver original
  1. $result = mysql_query("SELECT * FROM nombretabla");
  2. $totalresultados = mysql_num_rows($result);
  3.  
  4. echo $totalresultados;

En la variable $totalresultados tendrias el valor con la cantidad de filas de la base de datos y luego simplemente validas como quieras..

Código PHP:
Ver original
  1. if($totalresultados==5){
  2. echo "es igual a 5";
  3. }else{
  4. echo "no es igual a 5";
  5. }

Espero te sirva, ;)
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #13 (permalink)  
Antiguo 06/11/2012, 14:57
 
Fecha de Ingreso: junio-2010
Mensajes: 36
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Formulario php con MySQL

Muchisimas gracias CoriaWeb! funciono a la perfeccion el codigo que me pasaste. De verdad muchas gracias por toda la ayuda brindada.

Saludos,

Bruno.
  #14 (permalink)  
Antiguo 06/11/2012, 19:24
Avatar de CoriaWeb  
Fecha de Ingreso: septiembre-2012
Ubicación: Coria del Río - Sevilla
Mensajes: 1.795
Antigüedad: 11 años, 6 meses
Puntos: 130
Respuesta: Formulario php con MySQL

De nada para eso estamos ;)
__________________
Hosting de Calidad
Servidores Dedicados Administrados
CoriaWeb.hosting
  #15 (permalink)  
Antiguo 07/11/2012, 19:51
 
Fecha de Ingreso: junio-2010
Mensajes: 36
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Formulario php con MySQL

Buenas CoriaWeb, disculpa que te moleste devuelta, es que ahora me pidieron que el formulario envie automaticamente un email a la direccion que el usuario puso en el formulario. Tienes idea de algun codigo que pueda realizar esto?

Denuevo muchas gracias y disculpa las molestias.

Saludos,

Bruno.

Etiquetas: formulario, mysql, sql, tabla, usuarios
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 00:39.