Hola a todos. He hecho un código de registro de una web que estoy desarrollando. Pero soy novato en esto del PHP y me da error en el código (línea 5).
Sé que el resto de las líneas funcionan, pero dudo desde la 5 a la 13. Necesito que valla comprobando si he introducido el email. Si lo he introducido correctamente. Si coinciden las contraseñas y demás.
El código es:
Código PHP:
include('config.php');
// Primero comprobamos que ningún campo esté vacío y que todos los campos existan.
if ( isset($_POST["email"]) && empty($_POST["email"] ) {
echo "Falta el email";
} elseif (!eregi("^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\. [a-zA-Z0-9\-\.]+$", $_POST["email"])) {
echo "El email introducido no es válido";
} elseif (empty(isset($_POST["password"])) {
echo "Falta la contraseña";
} elseif ($_POST["password"] != (isset($_POST["password2"])) {
echo "Las contraseñas no coinciden";
} else {
if(isset($_POST['password']) || !empty($_POST['password']) && $_POST['password'] &&
isset ($_POST['email']) || !empty($_POST['email'])) {
// Si entramos es que todo se ha realizado correctamente
$password = md5($_POST['password']);
$mail = htmlentities(isset($_POST['email']));
$link = mysql_connect ($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname,$link);
$queEmp = "SELECT email FROM usuarios WHERE email='$mail'";
$resEmp = mysql_query($queEmp, $link) or die(mysql_error());
$totEmp = mysql_num_rows($resEmp);
if($totEmp > 0){
echo "El mail ingresado no esta disponible";
exit();
}
// Con esta sentencia SQL insertaremos los datos en la base de datos
mysql_query("INSERT INTO usuarios (email,password)
VALUES ('{$mail}','{$password}')",$link);
// Damos de baja el enlace de registro
$hash = htmlentities(isset($_GET['hash']));
$link = mysql_connect($dbhost, $dbusername, $dbuserpass);
mysql_query("UPDATE invitacion SET valido='NO' WHERE hash='$hash'",$link);
// Ahora comprobaremos que todo ha ido correctamente
$my_error = mysql_error($link);
if(!empty($my_error)) {
echo "Ha habido un error al insertar los valores. $my_error";
} else {
echo "Los datos han sido introducidos satisfactoriamente";
}
} else {
echo "Error, no ha introducido todos los datos";
}
Por si hace falta, el código de la página de registro es:
Código HTML:
<html>
<head>
<title>Sistema de invitacion</title>
</head>
<body>
<form name="form1" method="post" action="insertar.php">
Email:
<label>
<input name="username" type="email" id="email">
</label>
<br>
<br>
Contraseña:
<label>
<input name="password" type="password" id="password">
</label>
<br>
<br>
Repetir contraseña:
<label>
<input name="password2" type="password" id="password2">
</label>
<br>
<br>
<label>
<input type="submit" name="Submit" value="Registrarse">
</label>
</form>
</body>
</html>
Muchas gracias. Espero que me podáis ayudar.
PD: Recalco que soy principiante en PHP ;)