PHP,形成使用相同的页面submittion后(php, form using the same

2019-08-17 05:44发布

我想知道什么是最简单的方法,使假设与用户的形式组织/通过,并用PHP提交按钮,但提交后回到同一页面,而不是转到另一个PHP页面。

我想if / else语句,但有点糊涂如何设置大量的尝试后,但仍然没有得到想要的结果

奇怪我做了所有那些你们说我才posted..but ...>。<”让我们说只是一些简单的像这样...

但我也想,如果没有输入则透过点击就会有错误设置....应该是容易的,但我不知道为什么我似乎无法弄清楚

<?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";
        }
    }
    ?>

Answer 1:

其他的答案是正确的; 你只需要回送周围用户的当前页面中的“ action ”属性。 您可以测试,看看他们是否也这样使用“ isset ”。

的东西,我很惊讶,尚未提及的是,你的输入不被消毒,而且你在和自己的灾难。 在你的action属性巨大注入漏洞:

$_SERVER['PHP_SELF']

如果你不清理这一点,那么有人可以只修改他们看到的网址你可怜的PHP脚本将不知道比任何处理,作为您更好的SELF恒定。

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



Answer 2:

如果当前页面的index.php,在形式上标签作为行动的价值使用的index.php。

像这样:

<form action="index.php" method="post">
</form>

ü可以通过将检查提交的表单:

if(isset($_POST)){
...
}

在页面顶部



Answer 3:

只要使用以下语法

<form method="post" action="">

您可以检查后是否使用isset()函数方法设置。



Answer 4:

<?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";
        }
    }
    ?>

你的这部分代码是错误的,应键入:如果(空($ _ POST [“用户”])!)



Answer 5:

 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

这正是你如何与您的形式重新加载页面,点击工作这种形式里面的提交按钮时。

附加:添加required到你想要求或检查它是否是空的所有输入。



Answer 6:

这是我创建来控制学习所需的输入字段满足要求的码。 如果是这样,数据将被发送到数据库。 如果不符合要求,将有一条消息可以在页面的顶部显示

<?php
if (!isset($_POST['submitform'])) {   
}
else
{
$_SESSION['firstname'] = $_POST['firstname'];
$_SESSION['lastname'] = $_POST['lastname'];
$_SESSION['email'] = $_POST['email'];
$_SESSION['mobile'] = $_POST['mobile'];
$_SESSION['telephone'] = $_POST['telephone'];
$_SESSION['place'] = $_POST['place'];
$_SESSION['street'] = $_POST['street'];
$_SESSION['housenumber'] = $_POST['housenumber'];
$_SESSION['gender'] = $_POST['gender'];

if (empty($_POST['firstname']) or empty($_POST['lastname']) or empty($_POST['email']) or empty($_POST['mobile'])or empty($_POST['telephone']) or empty($_POST['place'])
or empty($_POST['street']) or empty($_POST['housenumber']) or !isset($_POST['gender']))
{
    echo "Sending denied";
}
else
{       
    require 'database.php';

    header('Location: succes.php');
}  ?>

我希望这是对你有用的信息



Answer 7:

您可以在表单提交定义:

<form method=get action=index.php >

您也可以留下动作干脆出去,它会自动交/得到了同一个文件。



Answer 8:

这个代码将会帮助你

<form action="<?= $_SERVER['REQUEST_URI'] ?>" method="post">

或者你可能只是这样做:

<form action="" method="post">

谢谢 ....



Answer 9:

我认为所有已经错过了实际问题,即是否有留在同一个页面提交表单后一种方式。 答案是NO。 一旦你提交表单-您是否使用POST或GET方法,当然,假设你正在使用$ _ SERVER [“PHP_SELF”]或空的动作,等等- 一个新的页面会自动打开 。 这个拥有至少PHP。 (我已经尝试了很多使用XAMPP不同的方式)。但我现在对其他脚本语言。



文章来源: php, form using the same page after submittion