php,提交后使用同一页面的表单

标签 php html forms submit

我想知道最简单的方法是什么,让我们说一个带有 user/pass 的表单并使用 php 提交按钮,但在您提交后它会返回到同一页面,而不是转到另一个 php 页面。

我正在考虑 if/else 语句,但我有点困惑如何在多次尝试后设置它,但仍然没有得到想要的结果

很奇怪,我在发布之前做了你们说的所有事情..但是...>.<" 让我们说一些像这样简单的事情......

但我也想设置,如果没有输入任何内容然后点击 sumbit 就会出现错误....应该很简单,但我不知道为什么我似乎无法弄清楚

<?php
function userPass()
{
    echo "<form method='post' action=" . $_SERVER['PHP_SELF'] . ">";
    echo "<input type='text' name='user' /><br/>";
    echo "<input type='text' name='pass' /><br/>";
    echo "<input type='submit' value='Login' />";
}
    if(empty($_POST["user"]))
    {
        userPass();
    }
    if(!(empty($_POST["user"])))
    {
        if($_POST["user"] == "comp")
        {
            echo "Welcome comp";
        }
        else
        {
            echo "Wrong user";
        }
    }
    ?>

最佳答案

其他答案都对;您只需要在“action”属性中将用户发送回您的当前页面。您可以使用“isset”进行测试,看看他们是否这样做了。

令我感到惊讶的是,您的输入未经过过滤,您正在为灾难做好准备,但尚未提及,这让我感到惊讶。您的操作属性中存在巨大注入(inject)漏洞:

$_SERVER['PHP_SELF']

如果您不对此进行清理,那么其他人就可以修改他们看到的 URL,而您可怜的 PHP 脚本除了将其作为您的 SELF 常量进行处理之外别无他法。

换句话说,您绝对必须使用htmlspecialchars() 函数对该参数进行html 编码。这样,您的 action 应该看起来更像 htmlspecialchars($_SERVER['PHP_SELF'])

关于php,提交后使用同一页面的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15130493/

相关文章:

php - 查询不显示 MySQL 数据库的所有结果

PHP 多个数据库连接失败

html - 如何在目录周围环绕文字

java - 使用什么库来构建 HTML 文档?

ASP.NET MVC 3 : Model comes empty in the controller?

c# - 如何使用 mvvmLight 将数据从 ContentPage ViewModel 传递到 Xamarin Forms 中的 ContentView Viewmodel?

php - 在 PHP 中启用 GD 的问题

php - 如何使用 Laravel 发送电子邮件?

javascript - 如何从列表项中添加和删除类?

c# - ASP.NET MVC 表单问题