Checbox e abilitazione tasto "Invio dati"

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti,

Vorrei un vostro paere ed eventualmente correzione. Come tutti i form a fine compilazione dei dati si chiede all'utente di accettare le condizioni e la privacy. Dopo aver flaggato, il tasto "Invio dati" si abilita e si può inviare la registrazione. Ora volevo sapere da voi se il procedimento è giusto o meno. Però ci si pone subito una domanda. Se io flaggo con i campi vuoti, ovviamente lo script fa il suo lavoro. Abilita il tasto e si può inviare lo stesso i dati. Come ovviare aciò ?? Visto che ancora non sono riuscito ad avere un codice per efttamente funzionate sui campi in jquery che mi indica che tutti campi vanno compilati, e questo sarebbe già una mezza soluzione. Mi era venuto in mente di nascondere i termini e le condizioni quindi il flag, e di farlo apparire all'ultimo campo compilato. E' fattibile ciò ??? Se si mi potreste aiutare a sistemare il codice ??? Grazie. Questo è il codice completo:

iscrizione.php

PHP:
<html> 
    <head>  
		<script src='http://code.jquery.com/jquery-1.9.1.min.js'></script>  
<script 
        <script type="text/javascript">
		
    
    $(document).ready(function(){
    $("#invia").click(function(){

    $("#risultato").html("<img src='loading.gif'/>");
$.ajax({
    type: "POST",
    url: "checkdate.php.php",
    data: "cognome=" + $("#cognome").val(),"nome=" + $("#username").val(),"username=" + $("#email").val(),"email" + $("#password").val(),"password=" 
    success: function(response){
    $("#risultato").html(response);
    }
    });
    });
    })
    $(function()
		{	
			$('input').keyup(function()
			{       
                                var cognome= $('#cognome').val();
                                var nome= $('#nome').val();
    				var username = $('#username').val();
				var email = $('#email').val(); 
				var ripemail = $('#ripemail').val(); 
                                var password = $('#password').val();        
                                var ripassw = $('#rippasw').val();
       
 		}  
	}  
        </script>   
        
      <script type="text/javascript">
	function unlock(el1, el2) {
		if(el1.checked) {
			document.getElementById(el2).disabled = false;
		} else {
			document.getElementById(el2).disabled = 'disabled';
		}
	}
</script>
	</head>   
    <body>   
        <div align="center">  
            <h2>Esempio form di registrazione</h2>   
        </div>   
          <form name="iscrizione" action="checkdate.php" method="POST" id="iscrizione">
        
              <div style='font-family:Comic Sans MS; font-size: 20px'>      
            
                <label for="cognome">Cognome:  <input type="text" id="cognome" name="cognome" /></label>
              
                <p><p> <label for="nome">Nome: <input type="text" id="nome" name="nome" /></label> </p></p>
 
                <p><p><label for="username">Username: <input type="text" id="username" name="username" /></label> </p></p>
            
               <p><p><label for="email">Email: <input type="text" id="email" name="email" /></label> </p></p>

               <p><p><label for="ripemail">Rip-Email: <input type="text" name="ripemail" id="ripemail" autocomplete ="off"/></label> </p></p>

               <p><p><label for="password">Password: <input type="password" id="password" name="password," /></label> </p></p>
            
                <p><p><label for="ripassw">Rip-Password: <input type="password" id="password" name="ripassw" /></label> </p></p>

                       
            <!-- <input type="checkbox" name="accetta" value="accetta"/> Spuntare per accettare i termi di regolamento e la privacy -->
            
            <input type="checkbox" name="privacy" value="1" onclick="unlock(this, 'btn1')" /> Spuntare per accettare i <a href="http://utenti/iscrizioneajax/regolamentoprivacy.php">termi di regolamento e la privacy. </a>
              
                 
                 <div style ="text-align: center"> 
           <input type="submit" name="Submit" style ="font-family: Comic Sans MS; font-size:25px" id="btn1" value="Invia dati" disabled="disabled">
               </div>   </div>
        </form>   
    </body>  
</html>

P.S.: Sto cercando di fare tutto in mysqli visto che si sta per lasciare mysql. Un ultima cosa, questa query è giusta ????

PHP:
$con->query("SELECT username FROM uty WHERE username ='$username'");

O manca qualcosa ??? Grazie in anticipo sperando che qualcuno mi risponda.
 
Ciao, la sintassi di questa riga è completamente sbagliata
Codice:
data: "cognome=" + $("#cognome").val(),"nome=" + $("#username").val(),"username=" + $("#email").val(),"email" + $("#password").val(),"password="
comunque ti conviene scrivere cosi
Codice:
data: $("form name=['iscrizione']").serialize(),
questo invece a cosa serve?
Codice:
$(function()
            {    
                $('input').keyup(function()
                {       
                    var cognome= $('#cognome').val();
                    var nome= $('#nome').val();
                    var username = $('#username').val();
                    var email = $('#email').val(); 
                    var ripemail = $('#ripemail').val(); 
                    var password = $('#password').val();        
                    var ripassw = $('#rippasw').val();
       
                }  
            }
sicuro che la pagina php si chiami cosi ?
Codice:
url: "checkdate.php.php",
per quale motivo apri e chiudi 2 volte il tag <p>?

questo poi .... :crying:
HTML:
<script 
        <script type="text/javascript">
Ecco il codice corretto
HTML:
<html> 
    <head>  
        <script src='http://code.jquery.com/jquery-1.9.1.min.js'></script>  
        <script type="text/javascript">   
            $(document).ready(function(){
                $("#invia").click(function(){
                    $("#risultato").html("<img src='loading.gif'/>");
                    $.ajax({
                        type: "POST",
                        url: "checkdate.php.php",
                        data: $("form name=['iscrizione']").serialize(),
                        success: function(response){
                            $("#risultato").html(response);
                        }
                    });
                });
            });
            function unlock(el1, el2) {
                if(el1.checked) {
                    document.getElementById(el2).disabled = false;
                } else {
                    document.getElementById(el2).disabled = 'disabled';
                }
            }
        </script>
    </head>   
    <body>   
        <div align="center">  
            <h2>Esempio form di registrazione</h2>   
        </div>   
        <form name="iscrizione" action="checkdate.php" method="POST" id="iscrizione">

            <div style='font-family:Comic Sans MS; font-size: 20px'>      

                <label for="cognome">Cognome:  <input type="text" id="cognome" name="cognome" /></label>

                <p> <label for="nome">Nome: <input type="text" id="nome" name="nome" /></label> </p>

                <p><label for="username">Username: <input type="text" id="username" name="username" /></label> </p>

                <p><label for="email">Email: <input type="text" id="email" name="email" /></label> </p>

                <p><label for="ripemail">Rip-Email: <input type="text" name="ripemail" id="ripemail" autocomplete ="off"/></label> </p>

                <p><label for="password">Password: <input type="password" id="password" name="password," /></label> </p>

                <p><label for="ripassw">Rip-Password: <input type="password" id="password" name="ripassw" /></label> </p>

                <input type="checkbox" name="privacy" value="1" onclick="unlock(this, 'btn1')" /> Spuntare per accettare i <a href="http://utenti/iscrizioneajax/regolamentoprivacy.php">termi di regolamento e la privacy. </a>


                <div style ="text-align: center"> 
                    <input type="submit" name="Submit" style ="font-family: 'Comic Sans MS'; font-size:25px" id="btn1" value="Invia dati" disabled="disabled">
                </div>   
            </div>
        </form>   
    </body>  
</html>
 
Ultima modifica:
Ciao

Ciao Cricric,

Innazi tutto grazie dell'ennesimo aiuto. Secondo poi la pagina che richaimo sono sicuro che si chiami checkdate.php. terzo:

PHP:
<script 
        <script type="text/javascript">

Orrore di digitazione. Ovviamente c'è un tag di troppo dello script ch emi sono lasciato per strada quando ho cancellato una riga. Dimmi che sono una pippa (scusate il termine, ma quando c'è vo c'è vo) a programmare ne hai tutte le ragioni. Ovviamente c'è un altro orrore di gdgitura (sempre da parte mia) nell'url: url: "checkdate.php.php", invece è ---> url: "checkdate.php." In ultimo il primo codice che avevo postato (iscrizione), lo avevo preso da uno di quegli esempi che io ritengo incompleti e con poche spiegazioni che si trovano su internet. Insomma diciamo che l abuona volontà ho provato a metterla. Forse non avrò superato l'esame. Ma anche i libri che ho su ajax e jquery purtroppo mi sono accorto che poco servivano. perchè come al solito a mio avviso anche per un ignorante come me saltano dei passaggi o gli danno per socntati. Se fai un libro anche se lo sta leggendo un perfetto ignorantone senza basi (come me), credo che riportare dei passaggi che ddai per scontato sia fondamentale. Sia per chi legge la prima volta e sia anche per chi è a un livello superiore. Stessa cosa per gli esempi che girano su internet. E' per questo che non ho mai capito come diavolo si facesse una buona interfaccia utente-->web. Comunque ti ringrazio nuovamente della tua e vostra disponibilità. ma sopratutto dello sforzo di sopportazione nei miei confronti. E questo vale per tutti sia quelli che hanno cercato di aiutarmi e sia quelli che non mi hanno aiutato e che magari hanno letto i miei post. Grazie al forum che mi sopporta !!!
 
ciao

Ciao Cricric,

L'ho provato e va effettivamente. Fa quello che deve fare. Vorrei gentilmente s emi verificassi anche quetso codice qua che ho fatto in quanto non mi effettua i controlli non capisco il perchè e sopratutto dove sbaglio. Il file si chiama checkdate.php quello menzoniato nella chiamata ajax ed è quello che deve verificare se lo username e l'email sono presenti nel db. In ultimo dovrebbe verificare anche la doppia password di controllo password-rippass ela doppia email-ripemail e vedere se ci sono campi lasciati vuoti o meno nell'iscrizione. Se lo username ed email sono presenti dovrebbe essere segnalato con una "X" altrimenti se sono liberi cono una "V". Grazie Questo non ci sono riuscito a farlo o meglio pensavo di averlo fatto ma non funziona.


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

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

$result =$con->query("SELECT username FROM uty WHERE username ='$username'");
	if($checkusername->num_rows > 0)
	{
		echo "Registrazione non è andata a buon fine.";
	        exit();
	}else{
$con->query("INSERT INTO uty (username, email) VALUES ('$username', '$email')"); 
 
 }
echo 'Dati inseriti correttamente'; 


?>

Grazie.
 

Discussioni simili