Ciao a tutti, ho provato a postare nella sezione javascript, ma a questo pto non dove sia il mio problema...
Sto facendo un'autenticazione via JQuery, mysql e php.
la form che manda i dati è la seguente:
codice:
<form action="login.php" name="formLogin" method="post">
<div id="content-login">
<h1>Accesso area riservata</h1>
<label for="usr">Inserisci Username:</label>
<input type="text" class="text" value="" maxlength="35" name="usr"/><span id="error-usr"></span>
<label for="psw">Inserisci Password:</label>
<input type="password" class="text" value="" maxlength="35" name="psw" /><span id="error-psw"></span>
<input type="submit" value="Accedi" class="button" />
</p>
Richiesta Registrazione
Password Dimenticata
</div>
<input type="hidden" name="action" value="login" />
</form>
la pagina che manda i dati via JSON è il seguente:
codice:
$(document).ready(function() {
$(document).pngFix();
//Nascondo gli spam error
$('#error-usr').hide();
$('#error-psw').hide();
//Scompare errore quando metto focus sull'oggetto username
$('input[name=username]').focus(function() {
$('#error-usr').fadeIn();
});
//Scompare errore quando metto focus sull'oggetto username
$('input[name=password]').focus(function() {
$('#error-psw').fadeOut();
});
$('form[name=loginForm]').submit(function() {
$.post('varie/check.php', {"usr" : $('[name=usr]').val(), "psw" : $('[name=psw]').val(), "action" : $('[name=action]').val()}, function(data) {
/*switch(data.success) {
case 1:
break;
case 2:
break;
default:
}*/
},
'json');
return false;
});
})
ed infine il codice PHP il quale non è completo ma quando con firebug controllo la risposta, esso mi ritorna il codice html della pagina login.php
Codice PHP:
if (isset($_POST['action']))
switch( $_POST['action']) {
case "login":
/* Controllo se è presente nel DB */
require ("../class/class.user.php");
$user = new User($_POST['usr'], $_POST['psw']);
$data['token'] = $user->getTok();
$data['success'] = 1;
echo json_encode($data);
break;
default: header("Location: index.php");
}
else header("Location: index.php");
Ho fatto delle prove nel senso che il codice php lo so non è completo ma la risposta dovrebbe essere quella che mi aspetto....
ovvero
codice:
{"token":"xxxxx", "success":1}
Ma invece come detto sopra la risposta mi torna il codice html della pagina login... Qualunque cosa io metta nella funzione
codice:
function(data) {
switch(data.success) {
case 1:
break;
case 2:
break;
default:
}
non funziona perché data.success non è definito
Qualcuno può gentilmente aiutarmi