Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Donde esta el error de este scrip de registro de usuarios?

Estas en el tema de Donde esta el error de este scrip de registro de usuarios? en el foro de PHP en Foros del Web. Cuando envio los datos me pone: "Verifica que no haya ningun campo vacio y los passwords coincidan, aunque esten llenos. Form.html Cita: <html> <head> <body> ...
  #1 (permalink)  
Antiguo 10/03/2014, 06:15
 
Fecha de Ingreso: abril-2010
Mensajes: 33
Antigüedad: 14 años
Puntos: 0
Donde esta el error de este scrip de registro de usuarios?

Cuando envio los datos me pone: "Verifica que no haya ningun campo vacio y los passwords coincidan, aunque esten llenos.
Form.html
Cita:
<html>
<head>
<body>
<form action="registrar_c.php" method="post">
Nombre:<input type="text" name="Nombre">
<br></br>
Usuario:<input type="text" name="user">
<br></br>
Pasword:<input type="text" name="pw">
<br></br>
Confirmar password:<input type="text" name="pw2">
<br></br>
Email<input type="text" name="email">
<br></br>
<input type="submit" value="Enviar"><br></br>
</head>
</body>
</html>
Conexion.php

Cita:
<?php
$host="localhost";
$user="root";
$pw="root";
?>
registrar_c.php

Cita:
<?php
//Include del archivo de conexion a la base de datos
include("conexion.php");
///Comprueba que no exista ningun campo vacio
if(isset($_POST['nombre']) && !empty ($_POST['nombre'])&&
isset($_POST['user']) && !empty ($_POST['user'])&&
isset($_POST['pw']) && !empty ($_POST['pw'])&&
(isset($_POST['pw2']) && !empty ($_POST['pw2'])&&
(isset($_POST['email']) && !empty ($_POST['email'])&&
$_POST['pw'] == $_POST['pw2'])))
{
//Realiza conexion al servidor
$conectar = mysql_connect($host,$user,$pw)
//Si no concuerdan los datos lanza error.
or die("No se puede conectar.");
//Seleccion de la base de datos
mysql_select_db($db,$conectar)
or die("Error al a la base de datos.");
///Inserta los datos en la tabla registro
mysql_query("INSERT INTO () VALUES ('$_POST[nombre]','$_POST[user]','$_POST[pw]','$_POST[email]')",
$conectar);
echo "El usuario se ha registrado correctamente con los siguientes datos:";
echo "<br>";
echo "Nombre:".$_POST['nombre'];
echo "<br>";
echo "Usuario:".$_POST['user'];
echo "<br>";
echo "Email:".$_POST['email'];
} else
{
echo "Verifica que no haya ningun campo vacio y los passwords coincidan.";
}
?>

Última edición por netweb; 10/03/2014 a las 06:18 Razón: Error al pegar script.
  #2 (permalink)  
Antiguo 10/03/2014, 06:58
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Donde esta el error de este scrip de registro de usuarios?

Si separases las condiciones en vez de hacerlo todo de golpe, aparte de que sería mas fácil de leer, sabrías que campos son los que no están cumpliendo con tu condición.

Un saludo
  #3 (permalink)  
Antiguo 10/03/2014, 08:44
 
Fecha de Ingreso: marzo-2014
Ubicación: Paraguay
Mensajes: 12
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Donde esta el error de este scrip de registro de usuarios?

comparto con Heli0s cuando te dice que separes la condiciones.

En fin mi primer consejo era que hagas un echo de cada variable $_POST[] que traias para saber cual era la que estaba "fallando". Por problemas de conexion (no me dejaba ingresar con el mi user) lei linea por linea tu codigo. y encontre esto:

en el Form.html declaras:

Nombre:<input type="text" name="Nombre">

y en registrar_c.php

en tu condicion pones:

if($_POST['nombre']) && !empty ($_POST['nombre'])...

buscas el $_POST[nombre] teniendo que ser $_POST[Nombre]

espero te ayude..

Pd: agrego una pregunta.. supongo que la ejecucion del codigo no llego hasta ahi pero donde definis la variable $db. Y supongo que evitaste poner aca el nombre de la tabla y los campos ojala no te hayas olvidado en tu codigo
  #4 (permalink)  
Antiguo 10/03/2014, 11:36
 
Fecha de Ingreso: abril-2010
Mensajes: 33
Antigüedad: 14 años
Puntos: 0
Respuesta: Donde esta el error de este scrip de registro de usuarios?

Muchas gracias el error fue ese, pero sigue fallando algo.

Introduzco todos los datos y me dice que el usuario se registro satisfactoriamente, pero voy a la Base de datos y no hay ningun registro.

Cita:
mysql_query("INSERT INTO register VALUES ('$_POST[Nombre]','$_POST[user]','$_POST[pw]','$_POST[email]')",
$conectar);
que peude estar fallando?
  #5 (permalink)  
Antiguo 10/03/2014, 14:42
 
Fecha de Ingreso: marzo-2014
Ubicación: Paraguay
Mensajes: 12
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Donde esta el error de este scrip de registro de usuarios?

Y si probas con un
Mysql_connect ("db","db_usr","db_pass");

Y despues el
Mysql_query
  #6 (permalink)  
Antiguo 10/03/2014, 16:55
Avatar de xpapachox  
Fecha de Ingreso: junio-2011
Mensajes: 77
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Donde esta el error de este scrip de registro de usuarios?

Faltan las comillas dentro del Insert, que hace referencia a cada columna.

Código PHP:
mysql_query("INSERT INTO register VALUES 
('$_POST[\'Nombre\']','$_POST[\'user\']','$_POST[\'pw\']','$_POST[email]')"
,$conectar); 

Trata de ordenar tus código..
:)
  #7 (permalink)  
Antiguo 10/03/2014, 23:52
 
Fecha de Ingreso: abril-2010
Mensajes: 33
Antigüedad: 14 años
Puntos: 0
Respuesta: Donde esta el error de este scrip de registro de usuarios?

No me funciona poniendo las comillas me sale este error si las pongo:

[QUOTEParse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in /Applications/XAMPP/xamppfiles/htdocs/registrar_c.php on line 21[/QUOTE]

mi codigo:

Código PHP:
<?php
//Include del archivo de conexion a la base de datos
include("conexion.php");
///Comprueba que no exista ningun campo vacio
if(isset($_POST['Nombre']) && !empty ($_POST['Nombre'])&&
isset(
$_POST['user']) && !empty ($_POST['user'])&&
isset(
$_POST['pw']) && !empty ($_POST['pw'])&&
(isset(
$_POST['pw2']) && !empty ($_POST['pw2'])&&
(isset(
$_POST['email']) && !empty ($_POST['email'])&&
$_POST['pw'] == $_POST['pw2'])))
{
//Realiza conexion al servidor
$conectar mysql_connect($host,$user
//Si no concuerdan los datos lanza error.
or die("No se puede conectar.");
//Seleccion de la base de datos
mysql_select_db($db,$conectar)
or die(
"Error al a la base de datos.");
///Inserta los datos en la tabla registro
mysql_query("INSERT INTO register VALUES ('$_POST[Nombre]','$_POST[user]','$_POST[pw]','$_POST[email]')",
$conectar);
echo 
"El usuario se ha registrado correctamente con los siguientes datos:";
echo 
"<br>";
echo 
"Nombre:".$_POST['Nombre'];
echo 
"<br>";
echo 
"Usuario:".$_POST['user'];
echo 
"<br>";
echo 
"Email:".$_POST['email'];
} else
{
echo 
"Verifica que no haya ningun campo vacio y los passwords coincidan.";
}
  #8 (permalink)  
Antiguo 12/03/2014, 11:55
 
Fecha de Ingreso: marzo-2014
Ubicación: Paraguay
Mensajes: 12
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Donde esta el error de este scrip de registro de usuarios?

el mysql_connect() te ejecuta bien? osea tu variable $conectar
  #9 (permalink)  
Antiguo 12/03/2014, 16:32
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Donde esta el error de este scrip de registro de usuarios?

Código MySQL:
Ver original
  1. mysql_query("INSERT INTO register VALUES ('$_POST[Nombre]','$_POST[user]','$_POST[pw]','$_POST[email]')",
  2. $conectar);

Te faltan los campos donde se va a insertar la información:

Código MySQL:
Ver original
  1. mysql_query("INSERT INTO register(Campo1, Campo2, Campo3, Campo4) VALUES ('$_POST[Nombre]','$_POST[user]','$_POST[pw]','$_POST[email]')",
  2. $conectar);

Saludos!!
  #10 (permalink)  
Antiguo 12/03/2014, 16:41
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años
Puntos: 40
Respuesta: Donde esta el error de este scrip de registro de usuarios?

Indicar esos campos es opcional si en VALUES pones el valor de todos los campos de la tabla.

Un saludo
  #11 (permalink)  
Antiguo 12/03/2014, 16:54
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Respuesta: Donde esta el error de este scrip de registro de usuarios?

De echo tuve esa duda Heli0s, ejecuté la consulta en phpmyadmin y no me marcó ningún error, el mensaje decía que el proceso se ejecuto correctamente. Sin embargo no insertó información alguna.

Por ello supuse que sí deberían ir mencionados los nombres de los campos.

Saludos!!

Retiro lo dicho Heli0s, hice la prueba una ves más y si funciona :P

Etiquetas: html, mysql, registro, scrip, select, 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 16:40.