您好我想通过onclick增加价值。 我的代码是:
<?php
$r=0;
function goto()
{
$r++;
}
echo "<input type=button onclick=goto(); value=ClicktoIncrease >";
echo "r value is = $r";
?>
我认为通过点击来增加r值。
但它不起作用。
有人知道这个解决方案吗?
答案 0 :(得分:3)
您无法使用PHP执行此操作。 正如Pekka所说,PHP在服务器端运行,而你要做的是客户端变量的变量。 尝试使用Javascript:
<script type="text/javascript">
var r = 0;
</script>
和
<button onclick="r++">Increment</button>
答案 1 :(得分:0)
让这些HTML和PHP交互的唯一方法是通过页面重新加载和在会话或cookie中存储$ r的值。这样一旦一个人点击按钮,页面就会刷新,你的变量将增加一个。以这个伪代码为例:
<?php
session_start();
if(!isset($_SESSION['r']))
{
$_SESSION['r'] = 0;
}
if(isset($_REQUEST['rincrease']))
{
$_SESSION['r'] += 1;
}
?>
<form>
<p>Current value of 'r' is <?=$_SESSION['r']?>.
Click submit to increase its value.</p>
<input type="hidden" name="rincrease"/>
<submit />
</form>
我不在服务器前,所以不能检查这个,但看起来很好。它的作用是在页面中加载时检查页面中的隐藏值。点击提交按钮将使表单回发给自己并增加会话变量'r'的值
如果您不需要在服务器端捕获'r'的值,那么更好的方法是使用JavaScript在页面内。但即使你这样做,你也可以在表单发布时提交值,并保存自己每次要增加值时都必须重新提交页面,并且还可以保护用户免受大量页面刷新的影响。
希望这是有益的。