Я пытаюсь передать сеанс php с одной страницы на другую. Однако, когда я загружаю 2-ю страницу, url изменяется, но 1-я страница перезагружается. Ничего со второй страницы не появляется. Я чувствую, что это линия isset, которая испортила это, но я могу ошибаться. Любые идеи относительно того, где я, возможно, ошибаюсь, будут очень признательны.Новая страница не загружается при использовании сеанса
страница 0 HTML:
<div id="login">
<p>Username:
<input type="text" id="loginName" Required>
</p>
<p>Password:
<input type="password" id="loginPass" Required>
</p>
<span id="loginError">Please enter a username AND password</span>
страница 0 JQuery (При этом используется перенаправление плагин):
$("#login").dialog({
modal: true,
buttons: {
Login: function(){
var userName = $("#loginName").val();
var userPass = $("#loginPass").val();
var request1 = $.ajax({
url: "indexDb.php",
async: true,
type: "POST",
data:{uName:userName, uPass:userPass, func:1},
dataType: "html"
}).success(function(data){
if(data == "Password Not Found"){
//alert(data);
$("#loginError").text("The password you entered was incorrect");
$("#loginError").show();
}
else if(data == "Name Not Found"){
$("#loginError").text("The username you entered was not found");
$("#loginError").show();
}
else{
uid = data;
$.ajax({
url: "home.php",
type: "POST",
data: {uName:uid},
datatype: "text"
}).success(function(data){
alert("user:" + data);
$().redirect('home.php', {'uName': data});
});
}
})//end success
} //end of login button
} //end of buttons
}); //end of dialog
страницы 1:
<?php
session_start();
if(isset($_POST['uName'])){
$_SESSION['currentID'] = $_POST['uName'];
$curUser = $_POST['uName'];
}
?>
<html>
<a href="page2.php">page 2</a>
</html>
страница 2:
<?php
session_start();
echo $_SESSION['currentID']."hi";
?>
Вы уверены, что '$ _POST ['uName']' установлен, и поэтому устанавливается переменная сеанса? Для аргумента отладки, установленного после 'session_start();' ваша переменная сеанса в значение defult '$ _SESSION ['currentID'] = 'not set';' – TiMESPLiNTER
Да, она установлена. Я добавил тест для эха «true», если isset и «false», если нет, и он верн. True – gotguts
Я проверил ваш код, работает отлично со мной ... –