我正在使用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变量?
答案 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。