• User Attivo

    problemi con ajax & c.

    Salve a tutti,

    Ho dei piccoli problemi da risolve che da solo e con gli esempi non sono riuscito a capire niente. Solo gran confusione in testa e niente più. Allora ho creato un form di registrazione in stile nuovo. per stile nuovo intendo quelli che s'incontrano direttamente nei vari forum quando ti registri che ti danno l'esito positivo o negativo se sei già iscritto oppure no. Insomma come viene chiama la validazione campi Sono quattro file che secondo me si possono unire in tre, ma mi servirebbe da capire il perchè non funziona. Intanto posto quello che ho fatto fino ad ora.

    iscrizione.html

    [HTML]

    <html>
    <head>
    <script src='jquery-1.9.1.min.js'></script>
    <script type="text/javascript">
    function FormKeyUp(){
    var nome = document.modulo.nome.value;
    var username = document.modulo.username.value;
    var email = document.modulo.email.value;
    var ripemail = document.modulo.ripemail.value;
    var conferma = document.modulo.conferma.value;

    var email_reg_exp = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-]{2,})+.)+([a-zA-Z0-9]{2,})+$/;

    if ((username == "") || (username == "undefined")) {
    

    echo "Il campo Nome è obbligatorio.";
    document.modulo.username.focus();
    return false;
    }

    if (!email_reg_exp.test(email) || (email == "") || (email == "undefined")) {
    echo "Inserire un indirizzo email corretto.";
    document.modulo.email.select();
    return false;
    }

            $("#submit").attr("disabled", false);  
            }else{
                $("#submit").attr("disabled", true);  
            }
        } 
        $(document).ready(function() { 
            $("input").change(function(){   
            var id = this.id;   
            $.ajax({
                url: "checkdate.php",   
                type: "GET",   
                data: ({
                    controllo: $(this).attr('id'),
                    val: $(this).val()
                }),
                success: function(response){   
                    $("#check_" + id).html(response);   
                }   
            });  
            });   
        });  
        </script>   
    </head>   
    <body>   
        <div align="center">  
            <h2>Esempio form di registrazione</h2>   
        </div>   
        <form action="salvadati.php" method="POST">  
            <div style='font-family:Comic Sans MS; font-size: 20px'>      
            <label>  
                Username: <input onKeyUp="FormKeyUp()" type="text" name="username" id="username"/>  
                <span id="check_username"></span>  
            </label>   
            <label>  
                <p><p>  
                E-Mail: <input onKeyUp="FormKeyUp()" type="text" name="email" id="email" />  
                <span id="check_email"></span>  
                </p></p>      
            </label>  
    
            <label>  
                <p><p>  
                Ripeti-email: <input onKeyUp="FormKeyUp()" type="text" name="ripemail" id="ripemail" autocomplete="off" />  
                <span id="check_ripemail"></span>  
                </p></p>  
            </label>   
            </div>  
            <div align ="center">  
            <button id ="submit" style="font-family:Comic Sans MS;font-size:25px" disabled>Invio Dati</button> 
            </div>   
        </form>   
    </body>  
    

    </html>

    [/HTML]
    checkdate.php

    [PHP]

    <?php
    require_once("connettimysqli.php");

    $username = mysql_real_escape_string(strtolower(trim ($_POST['username'])));
    $email = mysql_real_escape_string(strtolower(trim ($_POST['email'])));
    $ripemail = mysql_real_escape_string(strtolower(trim ($_POST['ripemail'])));

    $checkemail= $mysqli->query("SELECT email FROM uty WHERE email='$email'");
    $vuota=$mysqli-> num_rows($checkemail);
    if($vuota > 0){
    echo "<br> <br> <h1> Attenzione: l'email: ".$email." è già presente nell'archivio. Si prega di cambiare email. Grazie !!! </h1>";
    echo "<meta http-equiv='Refresh' content=4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
    exit();

    if($result->num_rows > 0)
    echo '<img src="no.jpg" alt="Icona KO" width="15" height="15">';
    else
    echo '<img src="yes.jpg" alt="Icona OK" width="15" height="15">';
    ?>

    [/PHP]

    salvadati.php

    [PHP]

    <?php
    // definizione delle variabili
    require_once("connettimysqli.php");

    // Lancio una query per inserire tre righe nella tabella
    $successo = $con->query("INSERT INTO uty (username, email) VALUES ('$username', '$email')");

    // controllo l'esito della query
    if ($successo) {#se va bene....
    echo 'Dati inseriti correttamente';
    }else {
    echo 'Errore nella query';
    }
    ?>

    [/PHP]

    In teoria salvadati.php si potrebbe unire con il file checkdate.php così si può fare un unica chiamata ajax. Ma se si fa girare il listato, si noterà che lui una volta compilato i tre campi e una volta abilitato il tasto"invio dati", farà passare i dati inseriti anche se sono presenti nel db, ed inoltre non mi visualizza più le iconcine con la "V" e la "X". Mi potreste aiutare a risolvere questo problema e a capire dove sbaglio ??? Grazie. Spero in una vostra risposta.