[英]PHP onclick question?
嗨,我想通過onclick增加價值。 我的代碼是:
<?php
$r=0;
function goto()
{
$r++;
}
echo "<input type=button onclick=goto(); value=ClicktoIncrease >";
echo "r value is = $r";
?>
我認為通過單擊可以增加r值。
但它不起作用。
有人知道這個解決方案嗎?
您不能使用PHP來做到這一點。 正如Pekka所說,PHP在服務器端運行,而您要嘗試的是在客戶端增加變量。 嘗試為此使用Javascript:
<script type="text/javascript">
var r = 0;
</script>
和
<button onclick="r++">Increment</button>
使這些HTML與PHP交互的唯一方法是通過頁面重新加載並將$ r的值存儲在會話或cookie中。 這樣,只要有人單擊按鈕,頁面就會刷新,並且您的變量將增加一。 以下面的偽代碼為例:
<?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在頁內。 但是,即使您這樣做,也可以在表單發布時提交值,並且不必每次都要增加值時都必須重新提交頁面,並且還可以避免用戶刷新大量頁面。
希望這是有益的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.