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:
Jquery che fa partire la chiamata ajax: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>
La chiamata ha successo, e nel file ajax/main.php ho questo: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????? } } }) }
Come ho scritto (commentato) nel file .js vorrei che quando il login ha successo l' utente venisse reindirizzato verso la sua pagina personale.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;
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![]()

Rispondi quotando
