PHP表单在加载时执行POST请求

时间:2017-05-31 03:04:59

标签: php forms

我正在创建更新表单,但是当我点击更新按钮时,它会重定向到我的更新页面,并触发POST请求,使其成为有效的帖子,并且不会要求更新任何信息。

O(1)

2 个答案:

答案 0 :(得分:0)

默认设置

    $valid_post = true;

您需要更改逻辑:

<!DOCTYPE html>
<html>
    <?php require ('template/functions.php');
    ...
    $valid_post = false;
    ?>
    <?php 
    if ($_SERVER["REQUEST_METHOD"] == "post") {
        $valid_post = valid();  
        if ($valid_post){
            // ...
        }
    }
    ?>  
    <head>
        <title>Specialist Lookup </title>
    </head>
    <body>
        <div class="container">
            <?php 
                if ($valid_post){?>
                    <h2>Update Complete</h2>                
                    <?php
                }else{
                    // ...
                } 
                ?>  
        <div>
    </body>

我不知道valid()函数会发生什么。但我建议你这种模式:

$validPost = false;
if (valid()) {
    $validPost = true;
}

$validPost = valid();

答案 1 :(得分:0)

不太清楚如何编写valid()函数。

通过查看代码,默认情况下$valid_post设置为true,因此您可能需要查看valid()函数,看看它是否实际设置$valid_post如果无效则为false,否则即使没有有效的表单数据也会触发更新功能。

如果你的valid()函数返回布尔值,那么只需修改你的代码 改变

valid()

$valid_post = valid()

此外,您可能根本不需要代码else$valid_post = valid()这只会分配boolean值,因此else部分将是多余的。

如果您有任何疑问,请告诉我