我有两种使用ajax发送数据的表单。两个表单都有自己的脚本,我认为我可以在单独的脚本上访问相同的$_POST[]
变量,但这不起作用。我尝试使用session_start()
和include_once
,由于某种原因,我无法弄清楚为什么变量没有从脚本传递到脚本。我已经花了三天时间研究解决方案,所以如果你知道我做错了什么或有其他选择,请让我知道谢谢。
的JavaScript。
$('.test-input').load("test.php", {
'sendTo':sendTo,
'carrier':carrier,
'testSubmit':testSubmit
})
$('#error-display').load("textsms.php", {
'date':scheduleDate,
'firstname':firstName,
'number':number,
'message':message,
'time':time,
'service':service,
'submit':submit
})
test.php的
if (isset($_POST['testSubmit'])) {
$sendTo = $_POST['sendTo'];
$carrier = $_POST['carrier'];
$sendToInvalid = false;
$testEmpty = false;
$sendTo = "";
if (!preg_match('/^\(?\b\d{3}[-.)\s]?\s?\d{3}[-.)\s]?\d{4}\b$/', $sendTo) and $sendTo !== '') {
$sendToInvalid = true;
} elseif (empty($sendTo) || empty($carrier)) {
$testEmpty = true;
} else {
$sendTo = preg_replace('/[-.()\s]/','',$sendTo).$carrier;
$_SESSION['sendTo'] = $sendTo;
}
}
尝试让$sendTo
传递给下面的textsms.php。
else {
include 'test.php';
$sendTo = $_SESSION['sendTo'];
$number = preg_replace('/[-.()\s]/','',$number);
$number = "(".substr($number,0,3).") ".substr($number,3,3)."-".substr($number,6,4);
if ($sendTo !== "contactme@aboutryansam.com") {
$header = $name."\r\n#: ".$number;
$sendMsg = $userMsg."\r\nOn: ".$date.$time."\r\nService: ".$service;
//mail($sendTo, "You win!", $sendMsg, $header);
echo $sendTo;
echo "it worked";
}
答案 0 :(得分:0)
当然,在页面上初始化ajax,包括" header.php"内部session_start()
的文件。 test.php中的include_once('header.php')
也是如此。应该这样做。
现在这不是一个好习惯,我建议您使用Cookie并使用$_COOKIE
访问它们。更好的是,使用一个处理this one等cookie的库。 JQuery还有非常好的cookie管理。