Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Gin7
    Registrato dal
    Feb 2011
    Messaggi
    92

    Jquery - login ajax e redirect

    Buon giorno a tutti
    sto costruendo un piccolo sistema di login, in ajax, con jquery. Il problema è il redirect dell' utente alla pagina personale quando la chiamata è completata.
    Mi spiego meglio con il codice:
    "Form" per la ricezione di user e password:
    codice:
    <div id="login-home" style="<?php if(isset($_SESSION['id'])) {echo "display: none";} ?>">
    					<label>Username:</label> <input type="text" name="login-home-name" value="" maxlength="70" style="width: 120px" />
    					<label>Password:</label> <input type="password" name="login-home-password" value="" maxlength="70" style="width: 120px" />
    					<button id="confirm-home-login" style="margin-top: 5px" name="confirm-home-login">Accedi</button>
    				</div>
    Jquery che fa partire la chiamata ajax:
    codice:
    $("#confirm-home-login").click(function() {
    		var username = $("input[name='login-home-name']").val();
    		var password = $("input[name='login-home-password']").val();
    		if(username != "" && password != "") {
    			login(username, password);
    		}
    	});
    ....
    .....
    .....
    function login(username, password) {
    	$.ajax ({
    		type: 'post',
    		url: 'ajax/main.php',
                    dataType: json,
    		data: {
    			action: 'login',
    			username: username,
    			password: password
    		},
    		success: function(response) {
    			if(response == 0) {
    				alert("Nome utente o password non riconosciuti");
    			} else {
    				$('#login-home').hide();
    				$('#login-succes').show();
                                    //qui dovrei inserire il redirect?????
    			}
    		}
    	})
    }
    La chiamata ha successo, e nel file ajax/main.php ho questo:
    codice:
    case 'login':
    				$username = $_POST['username'];
    				$password = md5($_POST['password']);
    				$user = new db_user;
    				$loginUser = $user->loginUser($username, $password);
    				
    				if($loginUsr) {
    					$result = array_merge($loginArt, $add);
    					$_SESSION['id'] = $result['id'];
    					echo json_encode($result);
    				}
    				break;
    Come ho scritto (commentato) nel file .js vorrei che quando il login ha successo l' utente venisse reindirizzato verso la sua pagina personale.
    Se in quella riga inserisco un normale redirect non riesco a vedere la pagina, e come se PHP non facesse in tempo a scrivere $_SESSION['id'] (che controllo per aprire o meno il pannello utente) e dunque ottengo "permesso negato".
    Invece, se faccio un redirect manuale, cioè faccio il login, ricevo l' ok e digito nel campo url l' indirizzo del pannello.... funziona

    Grazie in anticipo

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    codice:
    success: function(response) {
    			if(response == 0) {
    				alert("Nome utente o password non riconosciuti");
    			} else {
    			location.href='tua-pagina-redirect.xxxx';			}
    		}
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.