hola como va, sigo luchando con un registro de usuarios, descargué este de un foro y me da este error al registrar un usuario.
tengo bien la conexión de la bd pero en esta línea me da este error.
Código PHP:
$sql_email_check = mysql_query("SELECT email FROM usuarios
WHERE email="$email"");
$sql_usuario_check = mysql_query("SELECT usuario FROM usuarios
WHERE usuario="$usuario"");
Código PHP:
<?php
include "db.php";
// Inserta los valores de los campos del formulario en las variables
$nombre = $_POST["nombre"];
$apellido = $_POST["apellido"];
$email = $_POST["email"];
$usuario = $_POST["usuario"];
$info = $_POST["info"];
/* Eliminamos ciertos caracteres especiales. */
$nombre = stripslashes($nombre);
$apellido = stripslashes($apellido);
$email = stripslashes($email);
$usuario = stripslashes($usuario);
$info = stripslashes($info);
/* Chequeo de errores */
if((!$nombre) || (!$apellido) || (!$email) || (!$usuario)){
echo "Falta ingresar la siguiente información! <br />";
if(!$nombre){
echo "El Nombre es un campo requerido, por favor ingréselo.<br />";
}
if(!$apellido){
echo " El Apellido es un campo requerido, por favor ingréselo.<br />";
}
if(!$email){
echo " El E-mail es un campo requerido, por favor ingréselo.<br />";
}
if(!$usuario){
echo " El Nombre de usuario es un campo requerido, por favor ingréselo.<br />";
}
include "form_ingreso.html"; // Muestra nuevamente el formulario!
/* Finaliza el chequeo de errors, si está todo bien, pasa al siguiente paso*/
exit(); // si el chequeo de errores falla, termina el script!
}
/* Chequeamos que el nombre de usuario y la contraseña no existan previamente en la base de datos */
$sql_email_check = mysql_query("SELECT email FROM usuarios
WHERE email="$email"");
$sql_usuario_check = mysql_query("SELECT usuario FROM usuarios
WHERE usuario="$usuario"");
$email_check = mysql_num_rows($sql_email_check);
$usuario_check = mysql_num_rows($sql_usuario_check);
if(($email_check > 0) || ($usuario_check > 0)){
echo "Por favor, corrija los siguientes errores: <br />";
if($email_check > 0){
echo "<strong>La dirección de mail ingresada ya está registrada en nuestro sistema, por favor ingrese una distinta<br />";
unset($email);
}
if($usuario_check > 0){
echo "El nombre de usuario ingresado ya está registrado en nuestro sistema, por favor ingrese uno distinto <br />";
unset($usuario);
}
include "form_ingreso.html"; // Muestra el formulario de nuevo
exit(); // Termina el script.
}
/* Si todo sale ok, se crea la cuenta */
/* Primero generamos la contraseña */
function generaContrasenia() {
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
srand((double)microtime()*1000000);
$i = 0;
while ($i <= 7) {
$num = rand() % 33;
$tmp = substr($salt, $num, 1);
$pass = $pass . $tmp;
$i++;
}
return $pass;
}
$contrasenia_azar = generaContrasenia();
$db_password = md5($contrasenia_azar);
// Ingresa los datos a la base de datos.
$info2 = htmlspecialchars($info);
$sql = mysql_query("INSERT INTO usuarios (nombre, apellido,
email, usuario, password, info, fecha_inscrip)
VALUES("$nombre", "$apellido", "$email",
"$usuario", "$db_password", "$info2", now())")
or die (mysql_error());
if(!$sql){
echo "Hubo un error al crear el usuario, contacte al webmaster.";
} else {
$userid = mysql_insert_id();
// Envía un mail al usuario
$subject = "Membresía al sitio dominio.com";
$message = "Estimado $nombre $apellido,
Gracias por registrarse en dominio.com!!
Faltan sólo unos pasos para poder utilizar su usuario.
Para activar su membresía, por favor haga click en el siguiente enlace: http://www.xxxxxxxxxx.com.ar/activar.php?id=$userid&code=$db_password
Luego de activar su membresía podrá ingresar a nuestro área privada utilizando los siguientes datos:
Usuario: $usuario
Contraseña: $contrasenia_azar
Muchas Gracias!
El Webmaster
Esta es una respuesta generada automáticamente, por favor no responda este mensaje";
mail($email, $subject, $message,
"From: Nombre del Sitio<[email protected]>\\n
X-Mailer: PHP/" . phpversion());
echo "La información sobre su membresía fue enviada a su e-mail.
Revise su casilla de correo electrónico y siga las instrucciones";
}
?>