Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    inserire indirizzo email una sola volta?

    salve a tutti!
    mi trovo davanti a un dilemma!
    ho creato un form di registrazione in html per il mio sito e tutte le altre pagine in php per consentire che i dati inseriti da un utente vadano nel database, ma soltanto dopo mi è venuto in mente "e se un utente compilasse il form svariate volte solo per il gusto di rovinare il mio database??"
    per questo chiedo a voi come fare in modo, una volta inserito l'indirizzo email, che non si possa piu reinserire lo stesso indirizzo!
    ringrazio in anticipo e attendo risposte!

    codice php del file registra
    Codice PHP:
    <?php 

    $nome 
    $_POST['nome']; 
    $cognome $_POST['cognome'];
    $username $_POST['username']; 
    $mail $_POST['mail'];
    $pass1 $_POST['pass1']; 
    $pass2 $_POST['pass2']; 
     


    if ( empty(
    $pass1) || empty($pass2) || empty($mail) || empty($nome) || empty($cognome) || empty($username) ){ 
      echo 
    '<center><h1>Uno o più campi obbligatori sono vuoti!</h1>
    </center>'
    ;  
      echo 
    '<center><INPUT TYPE="BUTTON" VALUE="← TORNA INDIETRO" ONCLICK="history.go(-1)"></center>';  

    else 


    if(
    $password == $verifica



    if(
    get_magic_quotes_gpc()) 
        { 
            
    $nome      stripslashes($nome); 
            
    $cognome  stripslashes($cognome);
            
    $username stripslashes($username);
            
    $mail      stripslashes($mail); 
            
    $password  stripslashes($pass2); 
        } 
        
    $nome      mysql_real_escape_string($nome); 
        
    $cognome   mysql_real_escape_string($cognome);
        
    $username  mysql_real_escape_string($username); 
        
    $mail      mysql_real_escape_string($mail); 
        
    $password  mysql_real_escape_string($pass2); 
      


    require 
    'config.php'
    require 
    'connect.php'

    // preparo la query 
    $query "INSERT INTO members (id,nome,cognome,username,mail,password) 
            VALUES ('id','
    $nome','$cognome','$username','$mail','$password')"
      
    // lancio la query 
    $result mysql_query($query); 
      
    // controllo l'esito 
    if (!$result) { 
        die(
    "Errore nella query. $query: " mysql_error()); 



      
    // chiudo la connessione a MySQL 
    mysql_close(); 


    $mittente "naturewildlife@altervista.org"
    echo 
    '<center><font size="5">Registrazione eseguita con successo! Riceverai una mail di conferma</font></center>'
    mail("$mail","Registrazione al sito","Benvenuto in NatureWildLife
    la tua registrazione è avvenuta correttamente,ora potrai accedere completamente al sito!
    buona navigazione! 

    Il tuo username è: 
    $username
    La tua password è: 
    $pass2 

    "
    ,"from: $mittente");  

    else 

    echo 
    'Hai inserito password diverse fra di loro.
    [url="#"]<h3>Torna indietro</h3>[/url]'

    }  
    }
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    Semplice esegui una query che selezioni tutte le email.
    Poi confronti l'email inserita con l'array di tutte le email e blocchi se c'è già.

  3. #3
    ciao!ti ringrazio!
    senti sono abbastanza inesperto su database, ti chiedo un favore, sapresti indicarmi il codice da eseguire nella query?
    scusa se chiedo troppo comunque grazie

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    modifica questa parte
    Codice PHP:
    // preparo la query  
    $query "INSERT INTO members (id,nome,cognome,username,mail,password)  
            VALUES ('id','
    $nome','$cognome','$username','$mail','$password')";  
       
    // lancio la query  
    $result mysql_query($query);  
       
    // controllo l'esito  
    if (!$result) {  
        die(
    "Errore nella query. $query: " mysql_error());  



    cambiala con
    Codice PHP:
    $query "SELECT * FROM memebers WHERE mail='$mail'";
    $result mysql_query($query);
    if(!
    mysql_fetch_array($result))
    {
       
    // preparo la query  
       
    $query "INSERT INTO members (id,nome,cognome,username,mail,password)  
            VALUES ('id','
    $nome','$cognome','$username','$mail','$password')";  
       
       
    // lancio la query  
       
    $result mysql_query($query);  
       
       
    // controllo l'esito  
       
    if (!$result) {  
           die(
    "Errore nella query. $query: " mysql_error());  


       }
    }
    else
    {
       echo 
    'Mail gia in uso, registrarsi con un altro indirizzo mail';


  5. #5
    ciao!
    ti ringrazio per la risposta ma purtroppo non funziona correttamente
    ho provato a registrare un utente con una email gia presente nel database per testare il lavoro ma il modulo ha inviato lostesso i dati c'è qualche errore?

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non sarebbe più semplice rendere la colonna dell'indirizzo email "UNIQUE" e gestire l'eventuale errore (tipo: email già presente -> Hai dimenticato la password?)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.