簡體   English   中英

PHP onclick問題?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM