entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

validar que el correo no este registrado

como puedo hacer que no se registre un correo que ya existe intente de esta forma y no funciona o puede que este mal cuadrado las validaciones del if, espero que me puedan ayudar y gracias.

`<?php 
session_start();
require_once("php/connection.php");
 ?>
<!DOCTYPE html>
<html>
<head>
  <title>Registrarse</title>
</head>
<body>
  <form method="POST">
    <label>Nombre y Apellido</label>
    <input type="text" name="nombre_apellido" required>
    <br>
    <label>Documento</label>
    <input type="number" name="id_usuario" required>
    <br>
    <label>Correo</label>
    <input type="email" name="correo" required>
    <br>
    <label>Clave</label>
    <input type="password" name="clave" required>
    <br>
    <label>Confirmar Clave</label>
    <input type="password" name="claveR" required>
    <br>
    <div>
    <label>Perfil</label>

       <select id="perfil" name="id_perfil">

        <?php 
        $query = "SELECT * FROM perfil WHERE perfil= 'usuario'";
        $perfil=$connect->query($query);

        while($row = mysqli_fetch_assoc($perfil)) { ?>
        <option value="<?php echo $row['id_perfil']; ?>"><?php echo $row['perfil']; ?></option>
        <?php } ?>
      </select>
      </div>
    <input type="submit" name="Registrar" value="Registrar">
  </form>
</body>
</html>
<?php

      if(isset($_POST['Registrar'])){
        $nombre_apellido = $_POST['nombre_apellido'];
        $id_usuario = $_POST['id_usuario'];
        $correo = $_POST['correo'];
        $clave = $_POST['clave'];
        $claveR=$_POST['claveR'];
        $id_perfil=$_POST['id_perfil'];
        $clave2=password_hash($clave,PASSWORD_DEFAULT,array('cost'=>12));
        $ver="SELECT * FROM usuario WHERE correo='$_POST[correo]'";
        $rs=$connect->query($ver);
        $contador=mysqli_num_rows($rs);

        if($rs===1)
        {
            echo "<script>alert('Este Correo ya Existe!')</script>";
        }else
        {
             if($_POST['clave']===$_POST['claveR'])
        {

             $Query =mysqli_query($connect, "INSERT INTO usuario (nombre_apellido,id_usuario,correo,clave,id_perfil) 
          VALUES ('$nombre_apellido','$id_usuario','$correo', '$clave2','$id_perfil')");
              if($Query){
          echo "<script>alert('Guardado!')</script>";
          header('Location: index.php');
        }

       }else
       {
        echo "Claves no son iguales";
       }

        }

        }

      ?>

`

1 Respuesta

1voto

magarzon Puntos30650

Estás comparando, para ver si el correo existe, si la variable $rs es igual a 1. $rs es un objecto de tipo mysqli_result, nunca puede ser igual a 1. Deberías compararlo con la variable $contador que has calculado antes.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta