Salve a tutti,
Ho preso da un sito un esempio di connessione ajax e l'ho adatattato alle mie esigense. Solo che quando vado a inserire i dati non mi fa la asincronizzazione. ossia la verifica diretta se il dato esiste nel db o meno. Mie lo dice solo alla fine quando premo invio. Invece questo me lo dovrebbe dire quando finisco di scrivere ad esempio username, l'email e la password. Ora vi mostro qui di seguito quello che ho combinato:
iscriviti.php
Mi hanno detto chedovrei inserire questa righe qua:
Ma sinceramente ho provato ad inserirle sia separatamente che un po di miscuglio ma senza ottenere alcun risultato sperato. Sono poco pratico di ajax e non vorrei farlo con json.
Questo invece è il fie che riceve i dati e che li deve verificare con una query e poi se è tutto ok li deve memorizzare nel db altrimenti deve avvisare all'utente che o username o email sono occupati con una frase accanto al textbox. Questo è il listato:
checkdati.php
Mi potete dire dove toppo per favore o darmi una mano a risolvere il problema ???? Ripeto non m'interessa lavorare con json. Grazie.
Ho preso da un sito un esempio di connessione ajax e l'ho adatattato alle mie esigense. Solo che quando vado a inserire i dati non mi fa la asincronizzazione. ossia la verifica diretta se il dato esiste nel db o meno. Mie lo dice solo alla fine quando premo invio. Invece questo me lo dovrebbe dire quando finisco di scrivere ad esempio username, l'email e la password. Ora vi mostro qui di seguito quello che ho combinato:
iscriviti.php
PHP:
html>
<head>
<!--<script src="jquery-1.8.3.min"></script>-->
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>
<script type="text/javascript">
$(document).ready(function()
{
$("username").onkeyup(function(){
var page = $('form').attr('action');
var nome=$('#nome').val();
var cognome=$('#cognome').val();
var email=$('#email').val();
var username=$('#username').val();
$.ajax({
type: "POST",
url: "checkdati.php",
data: "nome="+nome+"&cognome="+cognome+"&username="+username+"&email="+email,
success: function(response){
$("#risultato").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"/></label>
</div> </p></p>
<div class="row">
<p><p>
<label>Username: <input type="text" name="username" id="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>
Mi hanno detto chedovrei inserire questa righe qua:
PHP:
$('#username').on('onkeyup',function(){
var page = $('form').attr('action');
$.ajax({
url: 'checkdati.php',
type:'post', data:{user:this.value},
success:function(ritorno)
{
$('#risultato').html(ritorno);
}
});
});
Ma sinceramente ho provato ad inserirle sia separatamente che un po di miscuglio ma senza ottenere alcun risultato sperato. Sono poco pratico di ajax e non vorrei farlo con json.
Questo invece è il fie che riceve i dati e che li deve verificare con una query e poi se è tutto ok li deve memorizzare nel db altrimenti deve avvisare all'utente che o username o email sono occupati con una frase accanto al textbox. Questo è il listato:
checkdati.php
PHP:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<title>CheckDati</title>
</head>
<body>
<?php
require_once("connetti.php");
$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";
} else{ echo "Questo username che hai scelto è perfetto!";
}
}
?>
</body>
</html>
Mi potete dire dove toppo per favore o darmi una mano a risolvere il problema ???? Ripeto non m'interessa lavorare con json. Grazie.