Foros del Web » Programando para Internet » PHP »

PHP OO Problemas al insertar datos de un formulario en la base de datos

Estas en el tema de Problemas al insertar datos de un formulario en la base de datos en el foro de PHP en Foros del Web. Tengo un formulario escrito en html q luce asi: <div class="myform"> <form method="post" action="_include/php/insertar_datos.php" > <input type="text" placeholder="Introduzca su nombre" name="name" id="nombre"><input type="text" placeholder="Correo electronico" ...
  #1 (permalink)  
Antiguo 19/09/2015, 12:06
 
Fecha de Ingreso: septiembre-2015
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Problemas al insertar datos de un formulario en la base de datos

Tengo un formulario escrito en html q luce asi:

<div class="myform">
<form method="post" action="_include/php/insertar_datos.php" >
<input type="text" placeholder="Introduzca su nombre" name="name" id="nombre"><input type="text" placeholder="Correo electronico" name="email" id="email" title="Se necesita un email" required><input type="tel" placeholder="Telefono" name="telefono" id="telefono"><input type="submit" id="boton" name="submit" value="Enviar">
</form>
</div>


En mi insertar_datos.php pretendo introducir los datos en una base de datos previamente creada con una tabla de clientes con 4 campos:

<?php
$user = 'root';
$password = 'root';
$db = 'sunboxprueba';
$socket = 'localhost:/Applications/MAMP/tmp/mysql/mysql.sock';

$link = mysql_connect(
$socket,
$user,
$password
);
$db_selected = mysql_select_db(
$db,
$link
);
$sql="INSERT INTO `sunboxprueba`.`clientesformulario` (`idclienteform`, `name`, `email`, `telefono`) VALUES (NULL, '$name', '$email', '$telefono')";

// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query($sql,$link);



// Ahora comprobaremos que todo ha ido correctamente
$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";

}

mysql_close();

?>

Cuando ejecuto la web desde mi servidor local instalado con map por el puerto localhost 8888 y pulso el boton del formulario no consigo que realice nada. Se queda la pantalla en blanco del explorador sin siquiera mostrar un echo ni por supuesto introducir nada en mi bd que gestiono desde phpmyadmin.
Alguien puede decirme qué estoy haciendo mal,por favor??
  #2 (permalink)  
Antiguo 19/09/2015, 12:46
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: Problemas al insertar datos de un formulario en la base de datos

Primero revisa qué error puede haber en la conexión con mysqli_connect_error() (aunque veo que usas mysql en lugar de mysqli).

Después, intenta seguir este tutorial para conectar a la BBDD.

Por otra parte, ¿a qué te refieres con "socket"? Quizá el valor de esa variable solo necesite ser localhost.
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 19/09/2015, 12:50
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problemas al insertar datos de un formulario en la base de datos

habilita Display errors para que puedas decirnos cual es el error que te muestra en pantalla y ve si tienes habilitado el php_sockets, otra cosa deberias cambiar a mysqli, ya que mysql esta depreciado y no tiene mas soporte, asi que tu web a futuro podrias darte problemas y tendrias que hacer muchos cambios, prueba asi a ver que tal

Código PHP:
Ver original
  1. <?php
  2. //Conexion orientada a objetos
  3. $usuario = "";
  4. $pass = "";
  5. $host = "";
  6. $base = "";
  7.  
  8. $db = new MySQLi($host, $usuario, $pass, $base);
  9. if($db->connect_error) {
  10.     die('Error de conexion ('.$db->connect_errno.')'
  11.         .$db->connect_errno);
  12. }
  13.  
  14. $sql = $db->query("INSERT INTO `sunboxprueba`.`clientesformulario` (name, email, telefono) VALUES ('$name', '$email', '$telefono')");
  15.  
  16. //comprobacion
  17. if($sql){
  18.     echo "Los datos han sido introducidos satisfactoriamente";
  19. } else {
  20.     echo "Ha habido un error al insertar los valores". mysqli_error($db);
  21. }
  22. ?>
__________________
[email protected]
HITCEL
  #4 (permalink)  
Antiguo 19/09/2015, 13:03
 
Fecha de Ingreso: septiembre-2015
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problemas al insertar datos de un formulario en la base de datos

Gracias por tan pronta respuesta!!

Ahora me da este error:

Ha habido un error al insertar los valoresINSERT command denied to user ''@'localhost' for table 'clientesformulario'


Ya va teniendo otra pinta esto jeje
  #5 (permalink)  
Antiguo 19/09/2015, 13:08
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problemas al insertar datos de un formulario en la base de datos

primero verifica si tu usuario tiene todos los permisos y en modo local no hace falta el @localhost si mal no recuerdo, bueno yo en wampserver no lo uso
__________________
[email protected]
HITCEL
  #6 (permalink)  
Antiguo 19/09/2015, 13:15
 
Fecha de Ingreso: septiembre-2015
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problemas al insertar datos de un formulario en la base de datos

He comprobado lo de los permisos, incluso he creado un usuario nuevo con todos los permisos; y cada vez que envio el formulario es como si se registrara en la base de datos pero con los campos vacíos.
  #7 (permalink)  
Antiguo 19/09/2015, 13:19
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problemas al insertar datos de un formulario en la base de datos

coloca tu codigo completo, el que tienes ahora
__________________
[email protected]
HITCEL
  #8 (permalink)  
Antiguo 19/09/2015, 13:22
 
Fecha de Ingreso: septiembre-2015
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problemas al insertar datos de un formulario en la base de datos

<?php
//Conexion orientada a objetos
$usuario = "root";
$pass = "root";
$host = "localhost";
$base = "";

$db = new MySQLi($host, $usuario, $pass, $base);
if($db->connect_error) {
die('Error de conexion ('.$db->connect_errno.')'
.$db->connect_errno);
}

$sql = $db->query("INSERT INTO `sunboxprueba`.`clientesformulario` (name, email, telefono) VALUES ('$name', '$email', '$telefono')");

//comprobacion
if($sql){
echo "Los datos han sido introducidos satisfactoriamente";
} else {
echo "Ha habido un error al insertar los valores". mysqli_error($db);
}
mysqli_close()
?>
  #9 (permalink)  
Antiguo 19/09/2015, 13:29
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problemas al insertar datos de un formulario en la base de datos

y el nombre de tu base de datos?????
Código PHP:
Ver original
  1. //Conexion orientada a objetos
  2. $usuario = "root";
  3. $pass = "root";
  4. $host = "localhost";
  5. $base = "";//AQUI DEBERIA DE ESTAR?????????????????
__________________
[email protected]
HITCEL
  #10 (permalink)  
Antiguo 19/09/2015, 13:32
 
Fecha de Ingreso: septiembre-2015
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problemas al insertar datos de un formulario en la base de datos

sigue ocurriendo lo mismo...se actualiza la base de datos con los campos vacios.
  #11 (permalink)  
Antiguo 19/09/2015, 13:37
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problemas al insertar datos de un formulario en la base de datos

te voy a preguntar algo que no veo por ningun lado, Donde recoges las variables?????? de donde vienen, no las veo declaradas en ningun lado, no será por eso que tus campos están en blanco????? no se digo yo no!!!
__________________
[email protected]
HITCEL
  #12 (permalink)  
Antiguo 19/09/2015, 13:43
 
Fecha de Ingreso: septiembre-2015
Mensajes: 7
Antigüedad: 8 años, 7 meses
Puntos: 0
Respuesta: Problemas al insertar datos de un formulario en la base de datos

Muchas gracias amigo¡¡ ya está funcionando. Me faltaba esta parte del codigo donde recojo las variables.

$name= $_POST['name'];
$email= $_POST['email'];
$telefono= $_POST['telefono'];

Etiquetas: formulario, html, mysql, select, sql, tabla
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 15:37.