我必须按两次提交按钮(PHP)

我必须按两次提交按钮(PHP),php,Php,此代码用于在按钮激活后将数据放入数据库,然后将其取下并替换为(问题保存!)。问题是我试了两次才让它消失(按钮)$numofrow用于验证操作是否曾经执行过(提交按钮的操作)。问题不在于数据库、查询等,而在于按钮。谢谢你抽出时间 这是我的代码: if(isset( $real_domaine)){ $tt = "SELECT*FROM uniwix.table0 WHERE id= '$id' "; $rr = mysqli_query($database,$tt);

此代码用于在按钮激活后将数据放入数据库,然后将其取下并替换为(问题保存!)。问题是我试了两次才让它消失(按钮)$numofrow用于验证操作是否曾经执行过(提交按钮的操作)。问题不在于数据库、查询等,而在于按钮。谢谢你抽出时间

这是我的代码:

if(isset( $real_domaine)){

    $tt = "SELECT*FROM uniwix.table0 WHERE id= '$id' "; 
    $rr = mysqli_query($database,$tt);

    while($rows = mysqli_fetch_assoc($rr)){

        [rows call...]

        $md = "SELECT*FROM uniwix.table1 WHERE usern='$us' and question='$sujet'";
        $ao = mysqli_query($database,$md);
        $numofrow = mysqli_num_rows($ao);

        if($numofrow == 0){
            echo '<form action="" method="POST">
                <input type="submit" name="sauvegarder" value="Save the question"/>
                </form>';

            if(isset($_POST['sauvegarder'])){
                $qu = "INSERT INTO database (usern,question) VALUES('".$us."','".$sujet."')";
                $sm = mysqli_query($database,$qu);
            }
        }else{
            echo 'Question saved!';
        }

    //end of while loop
    }    

// end of  if(isset( $real_domaine))
}
if(isset($real\u domaine)){
$tt=“从uniwix.table0中选择*,其中id='$id';
$rr=mysqli_查询($database,$tt);
而($rows=mysqli\u fetch\u assoc($rr)){
[行调用…]
$md=“从uniwix.table1中选择*,其中usern='$us'和question='$sujet';
$ao=mysqli_查询($database,$md);
$numorrow=mysqli_num_rows($ao);
如果($numorrow==0){
回声'
';
如果(isset($_POST['sauvegarder'])){
$qu=“插入数据库(usern,question)值(“$us.”,“$sujet.”);
$sm=mysqli_查询($database,$qu);
}
}否则{
回音“问题已保存!”;
}
//while循环结束
}    
//if结束(isset($real_domaine))
}
问题不在于数据库、查询等,而在于按钮

按钮几乎是被动的,它所做的只是在按下时将数据发送到服务器。错误在于PHP代码的逻辑(缺少逻辑)

当脚本第一次运行时,
$numorrow
0
。它运行使用按钮生成表单的
echo
,然后检查是否设置了
$\u POST['sauvegarder']
。当然,它没有设置,因为当第一次加载页面时,会使用
GET
方法

用户按下按钮,使用
POST
提交数据,代码再次运行
$numofrow
仍为
0
(尚未在数据库中插入任何数据),再次显示表单,但这次设置了
$\u POST['sauvegarder']
,并将从浏览器接收的数据保存到数据库中

您需要重新思考页面的逻辑

而且,表单是空的。也许它是有效的,但这不是正确的方式写表格。要发送到服务器的输入字段必须保留在表单中


更重要的是,您的数据库代码是SQL注入的候选者使用字符串连接生成查询。使用。另外请阅读。

HTML与此无关。错误在于逻辑。我想知道$real_domaine是什么。所以,当在数据库中找不到用户和问题时,它会显示表单。你呼应“问题已保存!”当它已经在数据库中时,“问题已保存!”应为插入查询下的回显,当前回显为“问题已保存!”应更改为“问题已保存”