PHP onclick问题?

时间:2010-12-04 14:05:13

标签: php onclick

您好我想通过onclick增加价值。 我的代码是:

<?php
$r=0;
function goto()
{
$r++;
}
echo "<input type=button onclick=goto(); value=ClicktoIncrease >";
echo "r value is = $r";
?>

我认为通过点击来增加r值。

但它不起作用。

有人知道这个解决方案吗?

2 个答案:

答案 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在页面内。但即使你这样做,你也可以在表单发布时提交值,并保存自己每次要增加值时都必须重新提交页面,并且还可以保护用户免受大量页面刷新的影响。

希望这是有益的。