将jQuery变量传递给PHP变量

时间:2015-10-12 09:31:44

标签: php jquery variables

我正在使用PHP,我添加了以下jQuery代码来显示当前年份:

<script src="http://code.jquery.com/jquery-1.4.2.min.js" type="text/javascript"></script>
<script src="/script/jquery-1.4.2.min.js" type="text/javascript"></script>

<script type="text/javascript">

  var currentYear = (new Date).getFullYear();
  $(document).ready(function() {
  $("#year").text( (new Date).getFullYear() );
  });
</script>

<p><span id="year"/></p>

(此代码完美无缺:显示页面时我可以看到2015)

我现在想要的是将当前年份放入PHP变量(如$ currentYear),因此我可以在PHP中使用它来执行这样的操作:

$purchaseYear = 1985;
$yearsLivedOld = $currentYear-$purchaseYear;

如何将年份放入PHP变量?

4 个答案:

答案 0 :(得分:2)

你尝试这样做的方式是不可能的。在发送页面并关闭服务器连接后,Javascript(以及JQuery)在客户端计算机上工作。要从客户端计算机获取数据,最好的选择是AJAX调用,它会打开与服务器的新连接,并允许您在客户端和服务器之间加载(和发送)其他数据。

整个AJAX教程不在此范围,但是maybe this link will help you

如果您只想要当前年份,可以跳过javascript并在PHP中执行,如下所示:

$purchaseYear = date("Y");

答案 1 :(得分:2)

PHP呈现服务器端,javascript呈现为客户端。 因此,在某种程度上,您可以说PHP是在javascript之前呈现的,这意味着您可以将PHP变量分配给javascript变量,但不能反之亦然。 因此,您可以选择aldrin27或Till Helge提供的任一解决方案。 要么使用 1. AJAX将javascript生成的数据传递给服务器,以便PHP可以呈现它。 2.您可以使用日期('Y')直接在PHP中获取当前日期;所以这段代码不需要javascript。

答案 2 :(得分:1)

你可以使用ajax将变量传递给你的php脚本

var year = $("#year").text();
$.post("your_script.php", {year: year});

之后您可以在php脚本中使用该变量

<?php
$year = $_POST['year'];
echo $year;
?>

您可以在here

中了解有关ajax的更多信息

答案 3 :(得分:0)

使用http://i.imgur.com/0VPHZJx.png(或jQuery AJAX function)。

使用Javascript:

$.ajax({
  url: 'path/to/myscript.php',
  type: 'POST',
  data: 'current_year=' + currentYear,
  success: function(data) {
    //Optional callback function on success
  }
});

PHP:

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
  if (isset($_POST['current_year'])) {
    //Should really validate/sanitise data here
    $currentYear = $_POST['current_year'];
  }
}

您也可以通过HTML帖子发送它,虽然这需要重新加载页面,因此更适合使用AJAX。