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

    verificare la presenza di una voce nel database

    Sto creando un piccolo script di risposta che invia o non invia la mail se è già presente nella lista delle mail inviate.


    Codice PHP:
    <?php 
    function connect_db(){        
    $link mysql_pconnect("localhost""root""pass");    
    mysql_select_db("sirbons_db"$link);
    $query "SET NAMES 'utf8'";   
     
    $result mysql_query($query$link);
        return 
    $link;}
    $link=connect_db();

    /*****REGISTRAZIONE UTENTI E CONFERMA MAIL*****/
    $email_sign=$_POST['email_sign'];  //valore dal form
    $password_signmd5($_POST['password_sign']); //valore dal form

    if($email_sign==true){ //verifica i valori del form siano pieni
    if($password_sign==true){//verifica i valori del form siano pieni

    $query_sel_mail "SELECT * FROM email_send LIMIT 0,250"//se sono pieni seleziona le mail presenti nel db

    $result_sel_mail mysql_query($query_sel_mail$link);

    $row_sel_mailmysql_fetch_array($result_sel_mail)       
         
    if(
    $email_sign ==  $row_sel_mail['email'] ){//se la mail è presente nel db non invia la mail                 
                                     
    header('Location: index.php?m=giapres');}
     
           
          if(
    $email_sign != $row_sel_mail['email']){
    //se la mail è presente nel db non invia la mail     
                             
      
    $query_insert_mail "INSERT INTO email_send (email) VALUES ('$email_sign')";  
                  
    $result_insert_mail mysql_query($query_insert_mail$link);                    


    $to =$email_sign// note the comma

    subject$subject 'Email di conferma Sirbons.com';
     
    message
    $message 
    '<html><head>  <title>Sirbons.com Conferma Registrazione</title></head><body>  Grazie per esserti registrato come Fan al Sito Sirbons.com.  Se sei un\'atleta  l\'amministratore provvederà entro 48/h ad abilitarti come tale.<br/>  Per confermare la registrazione clicca sul seguente link:<br/> <a href="http://sirbons.yourww.it/load_cred.php?cluster='.time().'&registration_id=456&css_mod='.$email_sign.'&power_html='.$password_sign.'">Conferma</a></body></html>';
    // To send HTML mail, the Content-type header must be set$headers  = 'MIME-Version: 1.0' . "\r\n";

    $headers .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

    // Additional headers
    $headers .= 'To: Sirbons <$email_sign>' "\r\n";
    $headers .= 'From: Conferma di Registrazione <sirbonscagliari@gmail.com>' "\r\n";

    // Mail it
    mail($to$subject$message$headers);      

      
    header('Location: index.php?m=reload');                                                       }}     
      


        }                                        
    ?>
    Il problema è che non riesco a rilevare nella lista la presenza o meno della mail.

    Il funzionamento è così: se la mail è presente comparirà il messaggio che la mail è già stata inviata se invece non è presente parte la mail di conferma e aggiunge la mail alla liste delle mail inviate.

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, il problema sta nel fatto che tu fai una query con limit 250 e prendi tutti i 250 record per poi ciclarli e vedere se presente la mail.
    Questa potrebbe essere presente dal 251 in poi ma cosi' non lo saprai mai.
    Al posto di cercare tot record e ciclare fai una query cercando un record con campo email(o come si chiama) che sia uguale a quella inserita. in questo caso (semrpe che non ci siano doppioni ) avrai o nessun record o 1 record con la mail già presente.

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.