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