使用ajax如何将变量传递给两个不同的PHP脚本

时间:2018-04-09 12:51:24

标签: php jquery ajax forms post

我有两种使用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";
    }

1 个答案:

答案 0 :(得分:0)

当然,在页面上初始化ajax,包括" header.php"内部session_start()的文件。 test.php中的include_once('header.php')也是如此。应该这样做。

现在这不是一个好习惯,我建议您使用Cookie并使用$_COOKIE访问它们。更好的是,使用一个处理this one等cookie的库。 JQuery还有非常好的cookie管理。