我有这样的链接:<a href="javascript:window.print();">Print</a>
。我试图在点击它时增加一个PHP变量。技术上我可以通过提交表单来实现,但我确信有一种更简单的方法。有什么想法吗?
答案 0 :(得分:6)
JavaScript是客户端。 PHP是服务器端。如果要使用JavaScript事件影响PHP变量,则必须发出某种类型的AJAX调用。
答案 1 :(得分:1)
你需要使用某种数据库来保存这样的变量。然后,您可以向小型服务器端文件发出AJAX调用,该文件会增加该数据库中的值。
在您的HTML页面上:
<script type="text/javascript">
$(document).ready(function() {
$('#print').click(function() {
$.getJSON('http://somewhere.com/increment.php', null, function(data) {
console.log('remote increment script returned: ' + data);
});
window.print();
});
});
</script>
<a href="javascript: void 0;" id="print">Print</a>
然后,/increment.php
中的服务器端(我假设MySQL,但你也可以使用像Redis这样的东西):
// database connection goes here
$result = mysql_query("UPDATE stats SET stat_value = stat_value + 1 WHERE stat_key = 'prints'", $some_database_connection);
mysql_close($some_database_connection);
die( $result ? 'true' : 'false' );