Problema ocon verifica campo in javascript

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao cricric e ciao Borgo,

Allora ho il seguente problema. Ho modificato un pochino il modulo d'iscrizione e lo vorrei fare con la validazione asincrona dei dati ossia tramite ajax e javascript o jquery. Ancora non ho capito bene quale dei due entra in gioco se javascript o jquery. Dinalmente sono riusciuto ad ottenere qualcosina, ma purtroppo poca roba. Meglio poca che niente come se dice a Roma. E posto subito i codici che vorrei con il vostro aiuto poter modificare al meglio. I Codici sono composti fondamentalmente da due file

1) iscriviti.php

2) checkdati.php

passiamo al primo: iscriviti.php

PHP:
<html>
 <head> 

<script src='http://code.jquery.com/jquery-1.9.1.min.js'></script>
<script src='http://code.jquery.com/jquery-migrate-1.1.1.min.js'></script> 
</head> 
<script type="text/javascript"> 
$(document).ready(function() { $("input").keyup(function(){ 
var id = this.id; 
$.ajax({ type: "POST", 
url: "checkdati.php", 
data: id+"="+this.value, 
success: function(response){ 
$(id).html(response); 
} 
});
 }); 
});
 </script> 
</head> 
<body> <div align ="center">
 <h2>Esempio form di registrazione</h2> 
</div> <form action="checkdati.php" method="POST">
 <div class="row"> 
<p><p> 
<label>Nome: <input name="nome" id="nome" type="text"/> </label> 
</div> 
</p></p> 
<div class="row"> 
<p><p> <label>
Cognome: <input type="text" name="cognome" id="cognome"/>
</label> 
</div> 
</p></p> 
<div class="row"> 
<p><p>
 <label>Email: <input type="text" name="email" id="email"/>
<email></email></label> </div> </p></p> 
<div class="row">
 <p><p> 
<label>Username: <input type="text" name="username" id="username"/>
<username></username></label>
 </div> </p></p> <div class="row"> <label></label> 
<button type='submit'>Invia</button> </div> </form> </div> </head> <body> 
<?php 
require_once("connetti.php"); 
?>
 </body>
 </html>

2) Questo è il secondo codice che funge da controllo una volta inseriti i dati e sichiama:

checkdati.php

PHP:
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src='http://code.jquery.com/jquery-1.9.1.min.js'></script>
        <title>CheckDati</title>
        <script>
function setFocus()
{
document.getElementById("nome").focus();

}
</script>
    </head>
    <body>

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

#Controlla se esiste l'email nel db              

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

if(isset($_POST['email']) ){

#se esistono variabili posto con sto nome allora faccio come segue: 

$checkemail=mysql_query("SELECT email FROM utenti WHERE email='$email'");

$controllo_esistenza = mysql_num_rows(mysql_query($checkemail));

#se controllo_esistenza darà come valore un numero maggiore di zero #vorrà dire che sono presenti alcuni record nel database, con lo stesso valore che hai scritto nel campo input

if($controllo_esistenza > 0)
    { 
    echo "Mi dispiace questa email già esiste"; 
    
    } else{ echo "Questa email che hai scelto è perfetto!"; 
    
    }

} 


        #Controlla se esiste nel db lo username
                
$username = mysql_real_escape_string(strtolower(trim ($_POST['username'])));

if(isset($_POST['username']) ){

#se esistono variabili posto con sto nome allora faccio come segue: 

$checkusername=mysql_query("SELECT username FROM utenti WHERE username='$username'");

$controllo_esistenza = mysql_num_rows(mysql_query($checkusername));

#se controllo_esistenza darà come valore un numero maggiore di zero #vorrà dire che sono presenti alcuni record nel database, con lo stesso valore che hai scritto nel campo input

if($controllo_esistenza > 0)
    { 
 #   echo "Mi dispiace questo utente già esiste"; 
   
    echo '<img src="X-ICONA.png" alt="Icona OK" width="15" height="15">';
    } else{ 
    #    echo "Questo username che hai scelto è perfetto!"; 
    echo '<img src="V-ICONA.jpg" alt="Icona KO" width="15" height="15">';
    }

} 

?>
    </body>
</html>


Le immagini che carico sono le famose icone che se trova occupato lo username ad esempio, mette una bella "X" altrimenti se è libero una bella "V"

Orail punto che vorrei raggiongere con voi è il seguente. Questi sono solo due campi da verificare. Però se dovessi verificare più campi è possibibile mettere questa parte finale:

PHP:
if($controllo_esistenza > 0)
    { 
 #   echo "Mi dispiace questo utente già esiste"; 
   
    echo '<img src="X-ICONA.png" alt="Icona OK" width="15" height="15">';
    } else{ 
    #    echo "Questo username che hai scelto è perfetto!"; 
    echo '<img src="V-ICONA.jpg" alt="Icona KO" width="15" height="15">';
    }

} 

?>
    </body>
</html>

Per tutto il resto dei controlli dei campi ???? Inoltre è possibile verificare se un campo rimane vuota o meno ?? In ultimo, vorrei sapere se è possibile una volta compilato tutto il modulo si può abilitare il tasto "invio" avendolo disabilitato precedentemente ovviamente. Grazie, aspetto una vostra risposta. Grazie. Spoero che mi potrete aiutare.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, in checkdati.php non devi mettere del codice html ma solo il codice php che serve per la verifica e stampi solamente il risultato
modifica cosi
PHP:
<?php

require_once("connetti.php");

#Controlla se esiste l'email nel db
if (isset($_POST['email'])) {
    $email = mysql_real_escape_string(strtolower(trim($_POST['email'])));
    #se esistono variabili posto con sto nome allora faccio come segue: 

    $checkemail = mysql_query("SELECT email FROM utenti WHERE email='$email'");

    $controllo_esistenza = mysql_num_rows(mysql_query($checkemail));

    #se controllo_esistenza darà come valore un numero maggiore di zero #vorrà dire che sono presenti alcuni record nel database, con lo stesso valore che hai scritto nel campo input

    if ($controllo_esistenza > 0) {
        echo '<img src="X-ICONA.png" alt="Icona KO" width="15" height="15">';
    } else {
        echo '<img src="V-ICONA.jpg" alt="Icona OK" width="15" height="15">';
    }
}

#Controlla se esiste nel db lo username
if (isset($_POST['username'])) {
    $username = mysql_real_escape_string(strtolower(trim($_POST['username'])));
    #se esistono variabili posto con sto nome allora faccio come segue: 

    $checkusername = mysql_query("SELECT username FROM utenti WHERE username='$username'");

    $controllo_esistenza = mysql_num_rows(mysql_query($checkusername));

    #se controllo_esistenza darà come valore un numero maggiore di zero #vorrà dire che sono presenti alcuni record nel database, con lo stesso valore che hai scritto nel campo input

    if ($controllo_esistenza > 0) {
        #   echo "Mi dispiace questo utente già esiste"; 

        echo '<img src="X-ICONA.png" alt="Icona OK" width="15" height="15">';
    } else {
        #    echo "Questo username che hai scelto è perfetto!"; 
        echo '<img src="V-ICONA.jpg" alt="Icona KO" width="15" height="15">';
    }
}
?>
nel file iscriviti.php non server richiamare il file di connessione (connetti.php)
in piu chiudi due volte la il tag <head>
per il resto mi sembra ok
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
ciao

Ciao cricric,

Innanzi tutto grazie di aver dato un'occhiata al codice. Secondo poi volevo sapere un'info. per farla un po' più complicata, ossi avorrei mettere più campi da controllare, ma con un unico codice che mi dica "si ok", "no ok" è difficile da modificare leggermente quella parte di codice che avevo impostato ???? Sarebbero altri 4 campi da aggiungere e fare ad ognuno in fase di scrittura la verifica diretta. Spero di essermi spiegato bene. Grazie.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
in checkdati.php puoi aggiungere tutti i campi che vuoi basta che segui la logica dei primi due
PHP:
if (isset($_POST['nome_del_campo da controllare'])) {
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao

Ciao crickric,

Allora cerco di spiegarmi meglio quello che vorrei fare e con i vari esempi e manuali che ho comprato non sono riuscito a fare. omeglio spiegano sempre per metà. Saltano alcuni passaggi che per loro magari sono sott'intesi ma per dei principainti come me e con mente molto occupata da altre problematiche no. Vediamo se riesco a farmi capire.

Dunque nel passaggio che verifica con i simboletti ossia questo:


verificadatiinseriti:

PHP:
if($controllo_esistenza > 0)
    { 
 #   echo "Mi dispiace questo utente già esiste"; 
   
    echo '<img src="X-ICONA.png" alt="Icona OK" width="15" height="15">';
    } else{ 
    #    echo "Questo username che hai scelto è perfetto!"; 
    echo '<img src="V-ICONA.jpg" alt="Icona KO" width="15" height="15">';
    }

} 

?>

Vorrei che il controllo venisse fatto su ogni campo, come si fa con la compilazione di un forum qualsiasi. E se si salta qualche campo indicare con un bordo rosso e settare il cursore su focus.

Mi sembhra che questa operazione si faccia più o meno in questo modo:

PHP:
var nome = document.modulo.nome.value;
var cognome = document.modulo.cognome.value;
var username = document.modulo.username.value;

.....

E' dopo i punti sospensivi che non so andare avanti. Ripeto ho visto tanti esempi ma non sono riuscito a capire come apportare modifiche per come vorrei io.S pero di essermpi spiegato meglio stavolta. Tu mi puoi aiutare ???? Grazie spero di ricevere tuoi aiuto.

P.S.: Senza adoperare json, mi s'incasinano di più le idee :p
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
chi è crickric?
cambia iscriviti.php cosi
HTML:
<html>
    <head> 
        <script src='http://code.jquery.com/jquery-1.9.1.min.js'></script>
        <script type="text/javascript"> 
            $(document).ready(function() { $("input").keyup(function(){ 
                    var id = this.id; 
                    $.ajax({ type: "POST", 
                        url: "checkdati.php", 
                        data: id+"="+this.value, 
                        success: function(response){ 
                            $("#check_" + id).html(response); 
                        } 
                    });
                }); 
            });
        </script> 
    </head> 
    <body> 
        <div align ="center">
            <h2>Esempio form di registrazione</h2> 
        </div> 
        <form action="checkdati.php" method="POST">
            <div class="row"> 
                <label>
                    Nome: <input name="nome" id="nome" type="text"/> 
                </label> 
                <span id="check_nome"></span>
            </div> 
            <div class="row"> 
                <label>
                    Cognome: <input type="text" name="cognome" id="cognome"/>
                    <span id="check_cognome"></span>
                </label> 
            </div> 
            <div class="row"> 
                <label>
                    Email: <input type="text" name="email" id="email"/>
                    <span id="check_email"></span>
                </label> 
            </div>
            <div class="row"> 
                <label>
                    Username: <input type="text" name="username" id="username"/>
                    <span id="check_username"></span>
                </label> 
            </div>
            <div class="row"> 
                <button type='submit'>Invia</button> 
            </div> 
        </form> 
    </body>
</html>
l'altro te l'ho gia postato, devi solo aggiungere gli altri campi che mancano nello stesso modo in cui hai messo i primi due
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
ciao

Ciao criric,

perdonami dell'errore del tuo nick. Mea Culpa (latino non lo so molto bene, anzi per niente direi). Grazie dell'aiuto oggi pomeriggio appena il mio synology sarà pronto, proverò il tuo codice che mi hai inviato e ti saprtò dire. Grazie della perdita di tempo dedicatami, e scusami ancora.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
ciao

Ciao cricric,

Volevo un tuo parere al riguardo sui due campi che in genere chiedono doppia verifica. Ossia username email e password. Con questo nuvo metodo di validare direttamente i campi, conviene comunque mettere le doppie verifiche per quei campi suddetti ????? Oppure non è necessario ????? Grazie ancora.
 
Discussioni simili
Autore Titolo Forum Risposte Data
I Sto progettando nuovi siti utilizzando bootstrap e devo dire funziona bene, l'unico problema e la maschera -moz- HTML e CSS 0
K Problema form update PHP 2
O problema con dvr dahua xvr5116 IP Cam e Videosorveglianza 0
S Problema nel ciclare un json Javascript 0
G Problema con Xampp Web Server 1
andrea barletta Problema con miniature comandi Photoshop 0
I problema con alice Posta Elettronica 0
K Problema Inner join PHP 1
F firefox problema http Linux e Software 0
N Problema con position absolute e overflow HTML e CSS 4
E Problema jquery Success jQuery 2
L Problema con inner join PHP 11
K [php] Problema con inner join PHP 4
E problema selezione sfumata Photoshop 2
K [PHP] Problema con variabili concatenate. PHP 1
A Problema filtro fluidifica Photoshop Photoshop 1
H Problema Bordi Scontorno Photoshop 1
O problema con query PHP 4
R Problema installazione Realtek WiFi USB rtl8821 Reti LAN e Wireless 0
I problema con 2 account Posta Elettronica 1
L problema collegamento file css con html HTML e CSS 1
Y Problema percorso file in rete PHP 1
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
E Problema accesso a file con app sviluppata con MIT APP INVENTOR 2 Sviluppo app per Android 0
P Problema acquisizione clienti Webdesign e Grafica 1
F NetBeans problema creazione progetto Java Windows e Software 0
M Problema con Try Catch PHP 0
C problema seo + cerco esperto SEO e Posizionamento 11
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
R problema con else PHP 0
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
I PROBLEMA: Sostituzione sito XAMPP E-Commerce 0
T problema data 30/11/-1 PHP 0
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Y Problema incolonnamento tabella PHP 7
S problema salvataggio immagini Photoshop 0
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
D problema php mysql PHP 1
D problema php mysql PHP 1

Discussioni simili