Fallo de registro de usuarios

GonsiTo-GFX

Hola, estreno mi cuenta con este post dnd kiero solucionar un fallo que tngo con mi script de registro de users, lo e echo mil veces pero ahora nose porke me da este error, loe e cho unas 4 veces seguidas pero el error es el mismo, el error que sale es que la syntax de MySql esta mal, cerca de la linea 2 (donde el include) pero este archivo tb esta correcto, como podeis ver este error aparece ya que le dije al script k me comunicara cual error "or die (mysql_error())". Ayudarme please:

<?php
include("bd.php");
$nick = $POST["nick"];
$pass = $
POST["pass"];
$email = $_POST["email"];
$nick = stripslashes($nick);
$pass = stripslashes($pass);
$email = stripslashes($email);
$sql_email_check = mysql_query("SELECT email_address FROM users
WHERE email_address='$email_address'");
$sql_username_check = mysql_query("SELECT username FROM users
WHERE username='$username'");

$email_check = mysql_num_rows($sql_email_check);
$username_check = mysql_num_rows($sql_username_check);

if(($email_check > 0) || ($username_check > 0)){
echo "Please fix the following errors: <br>";
if($email_check > 0){
echo "<strong>Tu email ya esta siendo usado por otro usuario<br>";
unset($email_address);
}
if($username_check > 0){
echo "Tu nick ya esta siendo usado por otro usuario<br>";
unset($username);
}
exit(); // exit the script so that we do not create this account!
}
if((!$nick)or(!$pass)or(!$email)){
echo "<center>Debes introducir todos los datos<center/><p><p>";
} else {
echo "<center>Tu nick es $nick <p> Tu password es $pass <p> Tu email es $email<p><center>";
echo "<br>";
echo "Ahora se procedera a acabar el proceso de registro:<br>";
echo "<br>";
$sql = mysql_query("INSERT INTO users (username, email_address, password)
VALUES('$nick', '$email', '$pass'")
or die (mysql_error());
}
if(!$sql){
echo 'Ha habido un error con el proceso de registro';
} else {
$userid = mysql_insert_id();
mail($email, "Bienvenido a To DeVeloper", "Hola $nick !<br>
Gracias por registrarse<br>

La informacion de su cuenta es <p>
Nick: $nick<p>
Password: $pass<br>


Gracias !<br>


Este mensaje esta automatizado, no lo respondas!",
"From: [email protected]");
echo "El proceso de registro ha acabado satisfactoriamente, ahora recibiras un email con la informacion de tu cuenta<br>";
echo "Gracias por registrarte en To DeVeloper, ahora vaya a la seccion <a href='login.php'>Login<a/> para entrar a su cuenta";
}
?>

r2d2rigo

Claro que hay errores, no puedes alternar entre texto entrecomillado y variables asi como asi. Tienes que concatenarlos con ".", deberia quedartes asi

$sql_email_check = mysql_query("SELECT email_address FROM users
WHERE email_address='.$email_address.'");
$sql_username_check = mysql_query("SELECT username FROM users
WHERE username='.$username.'");

BlisZ

el fallo estara en bd.php no? copialo a ver

GonsiTo-GFX

<?php
$dbhost = "localhost";
$dbuser = "nick";
$dbpass = "pass";
$dbname = "bd";
// Fin Config Mysql
$conexion=mysql_connect ("$dbhost","$dbuser","$dbpass");
mysql_select_db ("$dbname", $conexion);
?>

Aqui esta la informacion de la bd, supongo k sabreis k cambie la bd, pass y user por seguridad, respecto a lo de concatenar, ahora lo pruebo, asias por vuestras ayudas!! :)

r2d2rigo

OMG! Quita las comillas de las variables furrooooo!

En vez de
$conexion=mysql_connect ("$dbhost","$dbuser","$dbpass");
mysql_select_db ("$dbname", $conexion);

pon
$conexion=mysql_connect ($dbhost,$dbuser,$dbpass);
mysql_select_db ($dbname, $conexion);

GonsiTo-GFX

me sigue sin irrrr :(

guner

Prueva esto y busca los errores.

<?php
include("bd.php");
$nick = $POST['nick'];
$pass = $
POST['pass'];
$email = $_POST['email'];
$nick = stripslashes($nick);
$pass = stripslashes($pass);
$email = stripslashes($email);
$sql_email_check = mysql_query("SELECT email_address FROM users
WHERE email_address='$email_address'");
$sql_username_check = mysql_query("SELECT username FROM users
WHERE username='$username'");

$email_check = mysql_num_rows($sql_email_check);
$username_check = mysql_num_rows($sql_username_check);

if(($email_check > 0) || ($username_check > 0)){
echo "Please fix the following errors:";
if($email_check > 0){
echo "<strong>Tu email ya esta siendo usado por otro usuario";
unset($email_address);
}
if($username_check > 0){
echo "Tu nick ya esta siendo usado por otro usuario";
unset($username);
}
exit(); // exit the script so that we do not create this account!
}
if((!$nick)or(!$pass)or(!$email)){
echo "<center>Debes introducir todos los datos<center/><p><p>";
} else {
echo "<center>Tu nick es $nick <p> Tu password es $pass <p> Tu email es $email<p><center>";
echo "\n";
echo "Ahora se procedera a acabar el proceso de registro:";
echo "
";
$sql = mysql_query("INSERT INTO users (username, email_address, password) VALUES('$nick', '$email', '$pass')")
or die (mysql_error());
}
if(!$sql){
echo 'Ha habido un error con el proceso de registro';
} else {
$userid = mysql_insert_id();
mail($email, "Bienvenido a To DeVeloper", "Hola $nick !

Gracias por registrarse

La informacion de su cuenta es
Nick: $nick
Password: $pass

Gracias !

Este mensaje esta automatizado, no lo respondas!",
"From: [email protected]");
echo "El proceso de registro ha acabado satisfactoriamente, ahora recibiras un email con la informacion de tu cuenta";
echo "\n";
echo "Gracias por registrarte en To DeVeloper, ahora vaya a la seccion <a href=\"login.php\">Login</a> para entrar a su cuenta";
}
?>

#8, ya estaba corregido ^^

EnZo

Te falta cerrar un parentesis, prueba asi... creo q es eso :D

$sql = mysql_query("INSERT INTO users (username, email_address, password) VALUES('$nick', '$email', '$pass'") or die (mysql_error()));

Whose

Enzo ahi sobra un parentesis xDD
¿Te funciona ya? Vaya lio tienes ahi con las comillas, yo personalmente intento usar siempre las comillas simples...Dinos si te va ya para seguir mirandolo o no.

GonsiTo-GFX

ostia, asias, guner y alos demas, jasuausajus, me funciona, ahora toy comparando aver que le pasaba, gracias, en estas ocasiones si mola MV con gente que te ayuda sin criticar por criticar, GRACIAS !!!!

EnZo

Ties razon whose xD esque cuando lo copie en el txt le kite un parentesis y al verlo lo vi con uno menos pero fue xq se lo kite io xDD

Porcierto esque no tiene que conectar a una bd? le fatlta el ,$conexion) no? Aunque kiza este ekivocao de nuevo xD

$sql = mysql_query("INSERT INTO users (username, email_address, password) VALUES('$nick', '$email', '$pass')",$conexion)
or die (mysql_error());

BlasterN

lo 1º es que tienes una forma de programar algo peculiar y es muy dificil de corregir los errores.

De todos modos lo único que puede dar error ahi es en la funcion mail al hacerla en diferentes lineas (no debería pero puede) sustituye los intros por \n

De todos modos pq contemplas errores mysql si has puesto un OR DIE()
La verdad no tiene sentido puesto que nunca va a llegar a darse ese caso...

10 días después
Alperini

alguien me dice un buen sistema de registro y reconocimiento de usuarios ?

DAUS0N

mola cuando ayudais a alguien que es la misma persona ala que criticais y criticais solo que con otro nick :P
saludos :D

pd: shhhhhhhhhhhhhhhhhhhh yonoedixonakenosemehaleidoninaehxD

Usuarios habituales

  • Alperini
  • BlasterN
  • EnZo
  • GonsiTo-GFX
  • Whose
  • guner
  • r2d2rigo