2016-07-01 71 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 –