Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    69

    problema controllo mail esistente

    ciao a tutti

    ho un piccolo problema e non riesco a venirne a capo, nonostante mi sembra tutto ok...

    ho uno script jquery che esegue diversi controlli su un form (campi pieni, correttezza mail, eccetera).....i controlli appena menzionati vanno tutti a buon fine, tranne quello che verifica se la mail è gia esistente in db o meno... vi posto il listato sia jquery sia lo script php richiamato dal post jquery

    if (pass=="" || repass=="" || codfis=="" || m=="") { // controlli campi vuoti [funziona]
    $("#emptyalert").slideDown("fast");
    return false;
    }
    else if (pass!=repass) { // controllo password coincidenti [funziona]
    $("#passalert").slideDown("fast");
    return false;
    }
    else if (privacy!=1) { // controllo accettazione dati personali [funziona]
    $("#privacyalert").slideDown("fast");
    return false;
    }
    else if (!espreg.test(m)){ // controllo regolarità mail [funziona]
    $("#mailalert").slideDown("fast");
    return false;
    }
    else { // inizio controllo mail gia esistente
    var email_to_check=$("input#mail").val();
    $.post('check_mail.php', {Email:email_to_check}, function (data) {
    if(data) // in questo caso la mail esiste in db e quindi non si puo procedere
    { $("#existlog").slideDown("fast");
    return false;
    }
    else{ // in questo caso la mail NON esiste e quindi si puo procedere $("#third_step").hide(); $("#last").show('slide', {direction: "right"});
    $("#to_second").hide();
    $("#to_begin").hide();
    $("#to_last").hide();
    $("#to_third").show();
    $("#register").show();
    return false;
    }
    });
    return false;
    }
    });


    ecco lo script php che esegue il controllo sul db


    <?php
    include('inc.connessione.php');
    $mail=$_POST['Email'];
    $control_mail=mysql_query('SELECT * FROM Utenti WHERE Email="'.$_POST['Email']."'");
    $con=mysql_fetch_assoc($control_mail);
    if($con)
    {
    echo "false";
    }
    else{
    echo "true";
    }

    ?>


    il problema è questo: sia che la mail esista o che non esista il sito mi restituisce sempre l' errore indicante che la mail è gia esistente, anche se in realtà nel db non è presente.... ci sto sbattendo la testa tutta la mattina....perchè non funziona?? premetto che ho già controllato tutto (connessione al db, percorsi ecc.)....

    chi mi puo' aiutare???

    aspetto vostre risposte

    grazie a tutti

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ajax restituisce sempre delle stringhe... e tu con questo

    if(data) // in questo caso la mail esiste in db e quindi non si puo procedere

    verifichi semplicemente che la stringa esista... modifica:

    if(data.indexOf('true')>=0) // in questo caso la mail esiste in db e quindi non si puo procedere
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    69
    ciao

    grazie per la risposta

    niente da fare.....fa sempre la stessa cosa....



    puoi aiutarmi ancora??

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    cambia questa riga var email_to_check=$("input#mail").val();
    con questa var email_to_check=$("#mail").val();
    E verifica:
    - che l'input esista (presente nel documento) al momento che lanci la funzione e che si chiami esattamente id="mail"
    - cosa ricevi nella pagina php di verifica e-mail echo $_POST['Email'] prima di darla impasto alla query
    - cosa ricevi di ritorno function (data) {
    alert(data)
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    69
    ciao

    ho provato a a fare tutti i controlli ma niente da fare.... comunque noto che mi restituisce sempre false......puo esseere un problema della query

    riposto lo script php

    <?php
    include('inc.connessione.php');
    $mal=$_POST['mal'];
    $control_mail='SELECT Email FROM Utenti WHERE Email="'.$mal."'";
    $res=mysql_query($control_mail);
    if(mysql_num_rows($res)>0)
    {
    echo 'true';
    }
    else{
    echo 'false';
    }
    ?>

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da serrafra
    ciao

    ho provato a a fare tutti i controlli ma niente da fare.... comunque noto che mi restituisce sempre false......puo esseere un problema della query

    riposto lo script php

    <?php
    include('inc.connessione.php');
    $mal=$_POST['mal'];
    $control_mail='SELECT Email FROM Utenti WHERE Email="'.$mal."'";
    $res=mysql_query($control_mail);
    if(mysql_num_rows($res)>0)
    {
    echo 'true';
    }
    else{
    echo 'false';
    }
    ?>
    Potrebbe
    - Poi la mail la passa?
    - Hai verificato la query php?
    Su un po d'iniziativa non puoi appoggiarti esclusivamente al forum, lo dico nel tuo interesse
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    69
    ciao


    ho notato che se nella query inserisco un parametro di where statico (ad esempio una mail che è presente in database) il sistema restituisce true.....sto pensando che il problema dipenda dal parametro post che sto passando......è come se non lo leggesse.....

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da serrafra
    ciao


    ho notato che se nella query inserisco un parametro di where statico (ad esempio una mail che è presente in database) il sistema restituisce true.....sto pensando che il problema dipenda dal parametro post che sto passando......è come se non lo leggesse.....
    Ok, visto che non ci si capisce, metti un link alla pagina pubblica
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    69
    come si fa per metterlo nella pagina pubblica?

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2009
    Messaggi
    69
    ciao

    sai che ho risolto??? ho semplicemente riscritto la query e come per magia tutto funziona!!!
    a volte l' informatica è proprio misteriosa......grazie comunque per la pazienza e l' aiuto



    a presto

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 © 2026 vBulletin Solutions, Inc. All rights reserved.