2016-07-01 66 views
0

我有這樣的代碼,我想是$X在形式進行更新,所以當我按下按鈕+1它只是不停增加1的形式PHP變量自動更新失敗

<html> 
<head> 
<title>7mada</title> 
</head> 
<body> 
<?php $X = 7 ;?> 
<form method="POST" > 
    <table border="0" width="60%"> 
     <tr> <td width ="30%"> Number: </td><td><input type="test"  name="newname" value="<?php echo $X ;?>" readonly></td></tr> 
    </table> 
    <input name="save" type="submit" value="+1"/> 
</form> 

<?php 
if($_POST){ 
if($_POST['save'] == "+1"){ 
$_POST['newname']++; 
echo $_POST['newname']; 
$X = $_POST['newname']; 
} 
}else{echo "say smth";} 
?> 
</body> 
</html> 

感謝。

回答

0

嘿薩米這就是答案您的問題:d:d

它完全忽略HTML輸出,因此PHP不能用,應該是JavaScript事件進行交互。

你有兩種選擇:

1,做它在Javascript,住

2,做在PHP中,需要刷新

如果你想這樣做在JavaScript中,你會做到這一點:

<html> 
 
    <body> 
 
     <button onclick="add()">Add</button> 
 
     <div id="showIt"><script type="text/javascript">document.write(x);</script></div> 
 
    </body> 
 
    <head> 
 
     <title></title> 
 
     <script type="text/javascript"> 
 
      var x = 0; 
 
      function add() { 
 
       x++; 
 
       document.getElementById('showIt').innerHTML = x; 
 
      } 
 
     </script> 
 
    </head> 
 
</html>

或PHP:

<?php 
 
     session_start(); 
 
     $_SESSION['x'] = ((isset($_SESSION['x'])) ? $_SESSION['x'] : 0); 
 
     if(isset($_GET['add'])){ 
 
     $_SESSION['x']++; 
 
     } 
 
?> 
 
<html> 
 
    <head> 
 
     <title></title> 
 
    </head> 
 
    <body> 
 
     <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="get"> 
 
      <input type="submit" name="add" value="add" /> 
 
     </form> 
 
     <?php 
 
     echo $_SESSION['x']; 
 
     ?> 
 
    </body> 
 

 
</html>

我希望這可以幫助你,

馬哈茂德Elsaadany

+0

謝謝了很多,真正起作用<3 –