Foros del Web » Programando para Internet » PHP »

Problema con formulario php

Estas en el tema de Problema con formulario php en el foro de PHP en Foros del Web. HOLA A TODOS!!!!Estoy empezando a introducirme en el mundo de la creacion de páginas web y llevo un tiempo leyendo y viendo tutoriales y me ...
  #1 (permalink)  
Antiguo 11/06/2012, 02:12
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Problema con formulario php

HOLA A TODOS!!!!Estoy empezando a introducirme en el mundo de la creacion de páginas web y llevo un tiempo leyendo y viendo tutoriales y me he decidido a crear una pequeña pagina web. He empezado por algo básico y lo que he hecho ha sido descargarme en mi equipo el Xampp para poder tener mi base de datos y el php. Pues bien, ya ha venido el primer problema. Les comento:
He creado mi formulario en html y mi base de datos en MySQL, sin embargo al crear el código php nose porqué no me introduce los datos en la base de datos. El código no me da error sin embargo soy incapaz de introducirlo en la base de datos. He probado a introducirlo directamente desde phpmyadmin y no hay problema pero através de código no consigo ver el error. Les escribo el código para saber la opinion de ustedes los maestros de esto. MUCHAS GRACIAS POR ADELANTADO!!!!!!

<?php
//llamar a la funcion

//recibir la informacion de login.html
$nombre=strip_tags($_POST['Nombre']);
$apellido=$_POST['apellidos'];
echo "$nombre";

//comprobar que el usuario no existe en la bbdd
//registrar usuarios que no hayan sido dados de alta

$conexion=mysql_connect("localhost","root","") or die("problema al conectar el host");
$con=mysql_select_db("test",$conexion) or die("problemas al conectar la base de datos") or die("problemas la conectar con la bd");

if($con==true)
{
echo "conexion OK"; // esto funciona
}

$insertar="INSERT INTO 'tablauno' (nombre,apellidos) VALUES ('$Nombre', '$apellidos')";
$insertardb=mysql_query($insertar,$conexion) or die("problema");
if($insertardb==true)
{
echo "Usuario registrado";
}

else
{
echo 'Usuario No registrado con éxito';

}
//else
//{
// echo 'Hubo un error en el registro';
//}


//el resultado de esa conexion lo guardamos en una variable para poder emplearla mas facilmente. es la varibale que nos permite la conexion en la base de datos
// nombre tabla usuarios
//$con=Conectarse
//$sql="SELECT" Usuario * FROM usuarios WHERE usuario=$username"


?>

-----------------------------------------------
HTML.

<html>
<head>
<title> Prueba de html </title>
</head>



<body>
<form method="POST" action="prueba.php">
Nombre:<input type="text" name="Nombre" /> <br />
Apellidos: <input type="text" name="apellidos" /> <br />
Registrase: <input type= "submit" name="login" /> <br/>

</form>
</body>
</html>
  #2 (permalink)  
Antiguo 11/06/2012, 02:33
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 8 meses
Puntos: 97
Respuesta: Problema con formulario php

Cita:
para saber la opinion de ustedes los maestros de esto
Te respondo, aunque estoy en el grupo de los aprendices...

Oye, pues para estar empezando, no lo haces nada mal!

Declaras la variable $nombre y la recuperas con $Nombre.

Código PHP:
$insertar="INSERT INTO 'tablauno' (nombre,apellidos) VALUES ('$nombre', '$apellidos')"

Saludos.
  #3 (permalink)  
Antiguo 11/06/2012, 07:15
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Pregunta Respuesta: Problema con formulario php

MUCHAS GRACIAS OSCAR!!!!!!pero no es ese el problema, el codigo que subi al foro es el ultimo que grabe después de probar cosas, pero está mal.
$insertar="INSERT INTO 'tablauno' (nombre,apellidos) VALUES ('$Nombre', '$apellido')"; // esta es la línea correcta.

El problema está aqui:
$insertardb=mysql_query($insertar,$conexion) or die("problema");
al ejecutar el script lanza el mensaje de problema y es lo que me descuadra muchisimo. Pienso que puede ser tener algo que ver con la configuración de xampp o algo así, pero ando descolocado.
  #4 (permalink)  
Antiguo 11/06/2012, 07:24
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 6 meses
Puntos: 32
Respuesta: Problema con formulario php

Proba cambiando esto (quitar el die("problema")),
No soluciona el problema pero por ahi lo describe mejor.

Código HTML:
Ver original
  1. $insertardb=mysql_query($insertar,$conexion);
  2. if(!$insertardb)
  3. {
  4.     echo mysql_errno().": ".mysql_error();
  5.     exit();
  6. }
__________________
http://www.latinium.com.ar/
  #5 (permalink)  
Antiguo 11/06/2012, 07:26
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 8 meses
Puntos: 97
Respuesta: Problema con formulario php

Para conectar con la db, utilizo PDO, por lo que no estoy muy famiuliarizado con funciones mysql.
Quizás te digo9 una tonteria, pero puedes probar:

Código PHP:
$insertardb=mysql_query($insertar,$con) or die("problema"); 
Saludos
  #6 (permalink)  
Antiguo 11/06/2012, 08:45
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con formulario php

MUCHAS GRACIAS A LOS 2, a ver os comento.
Oscar siguiendo tu solución no consigo nada de nada, al ejecutarlo me lanza un mensaje de error: Warning: mysql_query() expects parameter 2 to be resource, boolean given in C:\xampp\htdocs\prueba.php on line 21

Y la solución de elgoncho99 me lanza este mensaje: Notice: Use of undefined constant insertardb - assumed 'insertardb' in C:\xampp\htdocs\prueba.php on line 22

¿Qué puedo hacer?
MUCHAS GRACIAS
  #7 (permalink)  
Antiguo 11/06/2012, 08:51
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 6 meses
Puntos: 32
Respuesta: Problema con formulario php

Como te quedo el codigo, lo podras postear?
Eso me parece es porque que te comiste un signo $ en la primera parte de la variable.
__________________
http://www.latinium.com.ar/
  #8 (permalink)  
Antiguo 11/06/2012, 09:43
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con formulario php

ahi va:


<?php
//llamar a la funcion

//recibir la informacion de login.html
$nombre=strip_tags($_POST['Nombre']);
$apellido=$_POST['apellidos'];
echo "$nombre";

//comprobar que el usuario no existe en la bbdd
//registrar usuarios que no hayan sido dados de alta

$conexion=mysql_connect("localhost","root","") or die("problema al conectar el host");
$con=mysql_select_db("test",$conexion) or die("problemas al conectar la base de datos") or die("problemas la conectar con la bd");

if($con==true)
{
echo "conexion OK"; // esto funciona
}

$insertar="INSERT INTO 'tablauno' (nombre,apellidos) VALUES ('$nombre', '$apellido')";
$insertardb=mysql_query($insertar,$conexion);
if(!insertardb)
{
echo mysql_errno() .": ".mysql_error();
exit();
}

else
{
echo 'Usuario No registrado con éxito';

}
//else
//{
// echo 'Hubo un error en el registro';
//}


//el resultado de esa conexion lo guardamos en una variable para poder emplearla mas facilmente. es la varibale que nos permite la conexion en la base de datos
// nombre tabla usuarios
//$con=Conectarse
//$sql="SELECT" Usuario * FROM usuarios WHERE usuario=$username"


?>
  #9 (permalink)  
Antiguo 11/06/2012, 09:50
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 6 meses
Puntos: 32
Respuesta: Problema con formulario php

Fijate que tenes mal el if de !insertardb

Lo tenes asi

Código PHP:
Ver original
  1. if(!insertardb)

y deberia ir con el signo $ asi

Fijate que tenes mal el if de !insertardb

Lo tenes asi

Código PHP:
Ver original
  1. if(!$insertardb)

Fijate como te funciona.
__________________
http://www.latinium.com.ar/
  #10 (permalink)  
Antiguo 11/06/2012, 09:58
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con formulario php

Tienes toda la razón elgoncho se me paso el dolar. Lo lanzo y me informa con este mensaje:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''tablauno' (nombre,apellidos) VALUES ('aaa', 'aaaa')' at line 1
  #11 (permalink)  
Antiguo 11/06/2012, 10:12
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 6 meses
Puntos: 32
Respuesta: Problema con formulario php

Ahi esta.

El tema es la sintaxis de MySQL, creo que la consulta tiene problemas con los apostrofes alrededor del nombre de la tabla, sacaselos. Deja solo los apostrofes alrededor de nombre y apellido.

Fijate de ponerla asi mas o menos:
Código PHP:
Ver original
  1. $insertar="INSERT INTO tablauno (nombre,apellidos) VALUES ('$nombre', '$apellido')";


Espero sirva, saludos.
__________________
http://www.latinium.com.ar/
  #12 (permalink)  
Antiguo 11/06/2012, 10:17
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con formulario php

Muchas gracias Goncho pero nada de nada, me lanza el mensaje de usuario no registrado con éxito. : (. ¿qué puede ser?
  #13 (permalink)  
Antiguo 11/06/2012, 10:19
 
Fecha de Ingreso: junio-2012
Ubicación: Argentina - Buenos Aires
Mensajes: 135
Antigüedad: 12 años, 6 meses
Puntos: 32
Respuesta: Problema con formulario php

Me parece que te salio todo bien, fijate que es lo que imprimis si anda bien la consulta.


Código PHP:
Ver original
  1. if(!insertardb)
  2. {
  3.     echo mysql_errno() .": ".mysql_error();
  4.     exit();
  5. }
  6. else
  7. {
  8.     echo 'Usuario No registrado con éxito'; /* Cambia este mensaje !! */
  9.  
  10. }

Saludos!
__________________
http://www.latinium.com.ar/
  #14 (permalink)  
Antiguo 11/06/2012, 10:27
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 4 meses
Puntos: 139
Respuesta: Problema con formulario php

Hola garridoyuste,
El asunto ya es un problema de lógica
Si vos te fijas en ninguna parte de tu código tienes una sección de success para cuando se registra un usuario correctamente.
El esquema que tienes que adoptar es este.

Código PHP:
Ver original
  1. $resultado = mysql_query(...) or die(mysql_error());
  2.  
  3. if ($resultado) {
  4.  echo 'Usuario Registrado Correctamente';
  5. }


die es un alias de exit, lo que realmente quiere decir que si pasa algun problema al momento de hacer el insert el interprete detiene el codigo y muestra el error.

si todo funciono exitosamente la funcion mysql_query retornara un boleano
y con esto puede saber si todo fue de maravillas.
ya escuestion de leer y adaptar.

Saludo
  #15 (permalink)  
Antiguo 11/06/2012, 10:33
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con formulario php

He cambiado el mensaje de usuario no registrado y me lo muestra. He comprobado si se había grabado en la db y está vacía.....
MUCHAS GRACIAS
  #16 (permalink)  
Antiguo 11/06/2012, 10:53
 
Fecha de Ingreso: junio-2012
Mensajes: 11
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: Problema con formulario php

MUCHAS GRACIAS GJX QUE GRANDE ERES!!!!GRACIAS!!!! ahora si he podido, hay estaba el error!!!!!GRACIAS!!!!!!
Y GRACIAS A TODOS POR VUESTRA AYUDA!!!!!!!Un saludo para todos vosotros!!!!!
  #17 (permalink)  
Antiguo 11/06/2012, 16:22
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Problema con formulario php

Hola Garridoyuste, apoco si pudiste enviar una variable $apellido desde un formulario que tiene name="apellidos"????? :S wow puedes explicar cómo lo has conseguido???


saludos
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!
  #18 (permalink)  
Antiguo 11/06/2012, 16:28
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 16 años, 4 meses
Puntos: 139
Respuesta: Problema con formulario php

Hola p414 eres poco observador.
fíjate en el principio del script donde el convierte los valores.

Código PHP:
Ver original
  1. $apellido = $_POST['apellidos'];

Saludos.
  #19 (permalink)  
Antiguo 11/06/2012, 16:38
Avatar de p414  
Fecha de Ingreso: agosto-2009
Ubicación: casi casi casi... a un lado de la cuna...
Mensajes: 575
Antigüedad: 15 años, 3 meses
Puntos: 44
Respuesta: Problema con formulario php

chispas gjx2!!!! tienes toda la razón, no me percaté de ese "pequeño detalle" como yo uso extract() para los datos de algún método de envio (get o post) a veces se me pasan esos detallitos

y garridoyuste... me imagino que al final lograste guardar correctamente los datos????
__________________
Desde hace tiempo estoy esperandote... bienvenido mi pequeño Diego!!!

Etiquetas: formulario, html, mysql, registro, sql, tabla, variables, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 09:14.