PHP变量自动更新失败

时间:2016-07-01 21:33:40

标签: variables refresh

我希望此代码能够在表单中更新$X,因此当我按下+1按钮时,它会继续向表单添加1

<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>

感谢。

1 个答案:

答案 0 :(得分:0)

嘿Samy这是你问题的答案: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>

我希望这可以帮到你,

Mahmoud Elsaadany