我有两种使用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 !== "[email protected]") {
$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";
}
当然,在您初始化ajax的页面上,请包含具有在内的“ header.php”文件session_start()
。include_once('header.php')
在test.php中。它应该可以解决问题。
如今,这不是一个好习惯,我建议您使用cookie并通过访问它们$_COOKIE
。更妙的是,使用该负责饼干就像一个图书馆这一个。JQuery还具有很好的cookie管理。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句