当用户登录时,我将电子邮件存储在$ 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。
答案 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']