一尘不染

如何在同一页面上放置两个表单?

php

我想将注册和登录表格都放在同一页面上。
它们都以:

if (!empty($_POST)) ...

所以,我需要这样的东西:

if (!empty($_POST_01))...  // regForm
  and 
if (!empty($_POST_02))...  //loginForm

还有如何在第二个表格繁忙时防止执行第一个表格,反之亦然(用户单击两者)
我的想法是在启动流程时(例如$x = 1,在流程结束时)创建一个简单变量$x = 0,因此:

if ((!empty($_POST_01)) And $x = 0)...

可能有更好的方法。


阅读 412

收藏
2020-05-29

共1个答案

一尘不染

您可以通过两种不同的动作制作两种形式

<form action="login.php" method="post">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="submit" value="Login">
</form>

<br />

<form action="register.php" method="post">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="submit" value="Register">
</form>

还是这样做

<form action="doStuff.php" method="post">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="hidden" name="action" value="login">
    <input type="submit" value="Login">
</form>

<br />

<form action="doStuff.php" method="post">
    <input type="text" name="user">
    <input type="password" name="password">
    <input type="hidden" name="action" value="register">
    <input type="submit" value="Register">
</form>

然后,您的PHP文件将用作一个switch($ _ POST
[‘action’])…,此外,它们不能同时单击两个链接或同时发出请求,每个提交都是一个单独的请求。

然后,您的PHP将继续执行切换逻辑,或者使用不同的php文件执行登录过程,然后执行注册过程

2020-05-29