使用会话时未加载新页面

时间:2013-11-13 08:23:09

标签: php session

我正在尝试将php会话从一个页面传递到下一个页面。但是,当我加载第二页时,网址会更改,但第一页会重新加载。第二页上没有任何内容出现。我觉得这是混乱的线,但我可能是错的。任何关于我可能出错的想法都将不胜感激。

第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";
?>

1 个答案:

答案 0 :(得分:0)

$().redirect('page1.php', {'uName': data});你是什么意思?您所要做的就是使用单击或其他事件创建对page1的请求,然后为page2创建另一个ajax请求并检查您的响应。试试这个jquery代码。

$('#check').click(function()
{
    //Submit the form
    $.ajax({
        url: "page1.php",
        type: "POST",
        data: {uName:"Your Name"},
        datatype: "text"
        }).success(function(data){
            alert("user:" + data);
            $.ajax({
                url: "page2.php",
                type: "POST",
                datatype: "text"
                }).success(function(data){
                    alert("Page2:" + data);

                });
        });
});

这是你的HTML

<div id = "check">Trigger</div>

所以,当你单击“触发器”时,JQuery会调度page1的请求,你可以在第一个请求的JQuery回调中设置你的会话,然后你就会得到第2页的第2页请求。