Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/02/2013, 14:33
serg_prog
 
Fecha de Ingreso: septiembre-2011
Mensajes: 60
Antigüedad: 13 años, 2 meses
Puntos: 1
Pregunta Qué falla en este código?

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 ;)