在AJAX处理页面上调用php变量

时间:2011-12-26 01:24:02

标签: javascript jquery ajax forms variables

当用户登录时,我将电子邮件存储在$ email中(我还尝试过全球$ email)。然后我有一个表格,他们输入他们室友的名字来搜索已预约的约会。

AJAX

$("#reserveAPickupAppointmentForm3").submit (function() {
    roommate = $("#roommate").val();
    $.post('roommateSearch.php', 'val=' + roommate, function (response) {
    $("#roommateResults").html(response);
    });
return false;
});

在roommateSearch.php上,如果找到约会,您可以点击约会,同时为自己安排一个约会。然后我将这些信息发送到postAppointment.php的另一个处理页面,以便我可以将其插入数据库。

        $(".confirmAppointment").click (function() {
            $(".confirmAppointment").unbind("click");
            var location = $(".reserveAPickupAppointmentLocation", entry).text();
            var subLocation = $(".reserveAPickupAppointmentSubLocation", entry).text();
            var startTime = $(".reserveAPickupAppointmentStartTime", entry).text();
            var endTime = $(".reserveAPickupAppointmentEndTime", entry).text();
            var date = $(".reserveAPickupAppointmentDate", entry).text();

            alert (location + subLocation + startTime + endTime + date);

            $.post("postAppointment.php", "location=" + location + "subLocation=" + subLocation + "startTime=" + startTime + "endTime=" + endTime + "date=" + date, function (response) {
                alert (response);
            });
        });

但是,为了正确创建约会,我需要重新获取用户的电子邮件并将其添加到SQL语句中。但是,当我在postAppointment.php上调用$ email时,没有任何显示。我该怎么做?

我已经调整了将它包含在原始表单中作为隐藏输入文本框的想法,其中包含$ email作为值,然后将该信息与其余部分一起传递,但肯定有一种更简单的方法......我希望有办法让postAppointment.php识别$ email。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

当用户成功登录时,将其电子邮件ID保存在会话变量中。您可以在ajax处理页面中访问此变量值。

检查您是否在访问会话变量的页面中添加了“php session_start()”。

答案 2 :(得分:1)

是否在同一个脚本上声明了$ email?

否则,您可以使用会话变量,启动会话并将变量存储在会话中,

session_start();
$_SESSION['email']=$email;

如果这是一个真实的系统然后知道会话并不总是安全的,会有很多问题,如会话固定,会话劫持,所以采取会话安全措施

此外,您还可以使用 Cookie ,当用户登录时,设置Cookie

setCookie("email",$email);

然后获取Cookie,$getEmail=$_COOKIE['email']