Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/02/2010, 13:24
Avatar de wolfmoon
wolfmoon
 
Fecha de Ingreso: octubre-2007
Mensajes: 189
Antigüedad: 16 años, 6 meses
Puntos: 2
Problemas con sistema de registro

Buenas a todos, por fin he conseguido encontrar un codigo para realizar un sistema de registro que funcione de verdad, lo unico que me da dos errores que despues de buscar informacion por la red no me aclaro:

El codigo es este:

Código PHP:
<?php
// Configura los datos de tu cuenta
$dbhost='...';
$dbusername='...';
$dbuserpass='...';
$dbname='...';
// Conexi&oacute;n a la base de datos
mysql_connect("localhost""...""..." ) or die(mysql_error());
mysql_select_db("...") or die(mysql_error());

// Preguntaremos si se han enviado ya las variables necesarias
if (isset($_POST["username"] ) ) {
$username $_POST["username"];
$password $_POST["password"];
$cpassword $_POST["cpassword"];
$email $_POST["email"];
// Hay campos en blanco
if($username==NULL|$password==NULL|$cpassword==NULL|$email==NULL) {
echo 
"Hay Campos Vacios";
}else{
// &iquest;Coinciden las contrase&ntilde;as?
if($password!=$cpassword) {
echo 
"Las Contrase&ntilde;as No Coinciden";
}else{
// Comprobamos si el nombre de usuario o la cuenta de correo ya exist&iacute;an
$checkuser mysql_query("SELECT username FROM users WHERE username='$username'" ) ;
$username_exist mysql_num_rows($checkuser);

$checkemail mysql_query("SELECT email FROM users WHERE email='$email'" );
$email_exist mysql_num_rows($checkemail);

if (
$email_exist>0|$username_exist>0) {
echo 
"EL Nombre de Usuario o la Cuenta de Correo Estan ya en Uso";
}else{
//Todo parece correcto procedemos con la inserccion
$query "INSERT INTO clientes (username, password, email) VALUES('$username','$password','$email')";
mysql_query($query) or die(mysql_error());
echo 
"El Usuario $username ha Sido Registrado de Manera Satisfactoria. Ahora Puedes Iniciar Session";
}
}
}
}
?>
Bien, el registro se lleva a cabo de forma normal salvo que me da estos errores:

- Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in line 27

- Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in line 30.

Estas lineas pertenecen al codigo para comprobar que el nombre de usuario y el email no estan ya en la base de datos, con lo cual cuando repito o un email o un nombre de usuario me los da de paso igualmente.

Estoy aprendiendo php, asique no seais muy tecnicos jeje... gracias.