PopUp tramite PHP se la mail inserita è già registrata nel database

lorenzocanal24

Nuovo Utente
31 Gen 2019
8
0
1
Salve a tutti, vorrei fare in modo che quando un utente vuole registrarsi ma utilizza una mail già registrata nel DB, si apra un PopUp con scritto "E-mail già registrata", che però mi faccia rimanere nella stessa pagina, perché se io metto un semplice alert sul codice php me lo apre in un'altra pagina (registration.php).

PHP:
<?php
  session_start(); // deve essere la prima cosa nella pagina, aprire la sessione
  include("db_con.php"); // includo il file di connessione al database
 
  //Funzione per generare una stringa random
  function StringaRandom($lunghezza)
  {
      $caratteri = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
      $stringaRandom = '';
      for ($i = 0; $i < $lunghezza; $i++) {
        $stringaRandom .= $caratteri[rand(0, strlen($caratteri) - 1)];
      }
      return $stringaRandom;
  }
 
  function criptazione($pass)
  {
      $pass=$_POST["password_reg"];
    return md5($pass);
  }

if($_POST["username_reg"] != "" && $_POST["password_reg"]!= "" && $_POST["email_reg"] != "" && $_POST["provincia_reg"] != "") // se i parametri iscritto non sono vuoti non sono vuote
{

  $email = $_POST["email_reg"];
  $username = $_POST["username_reg"];
  $password = $_POST["password_reg"];
 
  $query_controllo_username=mysql_query("SELECT Username FROM users WHERE Username='".$_POST["username_reg"]."'");
  $query_controllo_email=mysql_query("SELECT Email FROM users WHERE Email='".$_POST["email_reg"]."'");
  if(mysql_num_rows($query_controllo_email)==0)//controllo se la mail è gia presente nel db
  {
      if(mysql_num_rows($query_controllo_username)==0)//controllo se l'username è gia presente nel db
    {
        $query_registrazione = mysql_query("INSERT INTO users (Username,Password,Email,Provincia")
        VALUES ('".$_POST["username_reg"]."','".criptazione($password)."','".$_POST["email_reg"]."','".$_POST["provincia_reg"]."') // scrivo sul DB questi valori
        or die ("query di registrazione non riuscita ".mysql_error()); // se la query fallisce mostrami questo errore
    }
    else
    {
        echo "<script type='text/javascript'>alert('nome utente già registrato');</script>";
    }
  }
  else
  {
      echo "E-mail già registrata";
  }
}
else
{
  header('location:index.php?action=registration&errore=Non hai compilato tutti i campi obbligatori'); // se le prime condizioni non vanno bene entra in questo ramo else
}
if(isset($query_registrazione)) //se la reg è andata a buon fine
{
  $_SESSION["logged"]=true; //restituisci vero alla chiave logged in SESSION
  header("Location: conferma_registrazione.html");
 
}
?>
 
Salve a tutti, vorrei fare in modo che quando un utente vuole registrarsi ma utilizza una mail già registrata nel DB, si apra un PopUp con scritto "E-mail già registrata"
In primis quello che vuoi fare va contro la politica GDPR (giurisprudenza art 34-35 "credo": "è pertanto consigliabile assicurarsi di avere reso le proprie soluzioni a prova di futuro ."), in questo modo una persona è capace di individuare le email (che rientrano tra i dati personali)/utenti che sono registrati sul tuo portale, eviterei sin da subito l'approccio a questa metodologia...
Sarebbe utile invece inviare l'email all'utente con semplici istruzioni da seguire es:
In fase di registrazione:
  1. Utente già presente
    1. Invio email riepilogativa all'utente informandolo del tentativo d'accesso, aggiungendo informazioni inerenti al recupero password o alla protezione del proprio account.

Tornando al tuo problema dovresti intervenire con JS dal form prima di inviare i dati ...
 
Come farebbero ad individuare le email? scusa la mia ignoranza ma sono ancora alle prime armi..
E cos'è che va contro la politica GDRP?
 

Discussioni simili