Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875

    non registrare email in newsletter se già esiste

    salve
    una domanda un po' sciocca:
    ho creato un form con un campo di testo dove l'utente inserisce il proprio indirizzo email in modo da registrarsi alla newsletter.

    Ho resto il campo email del database "unique" in modo che un utente non puo' inserire 2 volte lo stesso indirizzo, infatti se ci prova esce un brutto messaggio di mysql con pagina bianca.

    Come posso fare un controllo a priori sull'indirizzo se è già presente nel db senza pero' appesantire il tutto?

    Va bene il campo unique o devo modifcarlo?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Prima di fare l'insert esegui una
    select * from tabella where email=indirizzo_che_arriva_da_form

    se viene trovato qualcosa non inserisci e dici che c'è già, altrimenti fai l'insert.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    23
    Dovrà essere una cosa del genere

    SELECT id FROM tabella WHERE email = 'indirizzo_che_arriva_da_form' LIMIT 1

    Poi devi controllare con mysql_num_rows() quanto righe ha trovato. Se ne ha trovato una, allora la mail è già presente.

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    E cosa c'è di diverso da ciò che ho già scritto io?

  5. #5
    però non rispondere "email già presente", devi rispondere come se fosse andato tutto a posto ma in realtà non inserisci nulla nel db.
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    ok perfetto, era come pensavo io, avevo solo paura di appesantire il database facendo una nuova richiesta.

    Come mai mi consigli di non dire che l'email e' già presente?

    Il campo email lo lascio unique o lo modifico?

  7. #7
    Originariamente inviato da allin81
    ok perfetto, era come pensavo io, avevo solo paura di appesantire il database facendo una nuova richiesta.

    Come mai mi consigli di non dire che l'email e' già presente?

    Il campo email lo lascio unique o lo modifico?
    perchè altrimenti uno potrebbe mettersi li e cercare di sapere se la tua newsletter contiene indirizzi email di altre persone

    mettilo pure unique, tanto... potresti direttamente metterlo PK
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Scusate se mi intrometto

    Quindi la soluzione dovrebbe essere questa:

    Codice PHP:
    $consulta_email mysql_query("SELECT * FROM `email' WHERE email = '$email'"$con);
            
    $esiste mysql_num_rows($consulta_email);
            
            if (
    $esiste != "0") {
    echo 
    "Email esistente";
    // qui metto un redirect

    Se metto un redirect non va in esecuzione il codice che viene dopo, giusto?
    Può andare così?

    Miglioramenti?


  9. #9
    Utente di HTML.it L'avatar di allin81
    Registrato dal
    Mar 2011
    Messaggi
    1,875
    si, io ho fatto cosi':
    Codice PHP:
    //CONTROLLO SE L'INDIRIZZO E' GIA PRESENTE NEL DATABASE
    $query_controllo="select email from newsletter where email=\"$email\""
    $risultato_controllo = @mysql_query($query_controllo) or die (mysql_errno() . ": " mysql_error());
    $righe_controllo mysql_num_rows($risultato_controllo);
    if(
    $righe_controllo=="0"){
    //eseguo l'inserimento 
    si, hai ragione santinom certo pero', uno non avrebbe proprio niente da fare che provare a vedere se un indirizzo e' già inserito o meno, cmq ho fatto come dici tu, è pur sempre un buon consiglio.

    Che intendi per metterlo in Pk?

  10. #10
    Originariamente inviato da allin81
    si, hai ragione santinom certo pero', uno non avrebbe proprio niente da fare che provare a vedere se un indirizzo e' già inserito o meno, cmq ho fatto come dici tu, è pur sempre un buon consiglio.
    Mica bisogna farlo necessariamente a mano! Ci vuole ben poco a buttare giù uno scriptino che in automatico prova ad inserire email e verifica eventuali messaggi di risposta per capire se una mail esiste o meno.

    Originariamente inviato da allin81
    Che intendi per metterlo in Pk?
    Primary Key
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.