如何使用php同时验证两个表单

我有两个表单包含在一个 PHP 文件中。其中一种表单用于“登录”,另一种表单用于“注册”,我有一些 CSS 和 JS 可以直观地切换表单,但无论如何,这两种表单仍然在一个 php 文件中。


这些表格是标准的:


<form action="login.php" method="post" name="user-sign-up">

 <div class="error">

<?php if(!empty($error)){echo $error;} ?>

</div>

          <span>First name</span>

          <input type="text" name="fname" class="fname">

        <input type="submit" value="Sign Up" class="signupdawg" id="firstname-signup"> 

</form>


然后我在该表格下面得到了另一张表格。


这是我的 php,它可以工作,并且仅适用于其中一种形式:


if( isset($_POST['fname']) && !empty($_POST['fname'])){


    $upName = $_POST['fname'];


if(empty($upName)){


        $error = 'All fields are required';


我只是缩短了代码,因此不会占用太多空间。我还有其他输入,例如密码,但我只是将其删除,因为代码几乎相同,除了我的 php 空检查中有一个“或”,以及我的 html 中的几行。


不管怎样,我想知道如何使用 PHP 同时验证两个表单。


小唯快跑啊
浏览 112回答 2
2回答

FFIVE

您一次只能提交一份表单,因此您需要使用表单上的某些内容来确定提交了哪一份表单。这只是使用您的代码的一个简单示例:if(isset($_POST['Sign_Up'])) {&nbsp; &nbsp; //do sign up stuff}&nbsp;elseif(isset($_POST['Login'])) {&nbsp; &nbsp; //do login stuff}通知Sign Up转换为Sign_Up. 最好action在每种形式中使用两个单独的文件并拥有两个不同的文件。另外,isset这里是多余的:if( isset($_POST['fname']) && !empty($_POST['fname'])){已经检查它empty是否已设置,所以只需:if(!empty($_POST['fname'])){

慕妹3146593

您需要在每个表单的提交按钮上使用唯一的值,示例如下index.html<form method="post" ...>...&nbsp; &nbsp; <button name="submit" type="submit" value="login">login</button></form><form method="post" ...>&nbsp; &nbsp;...&nbsp; &nbsp; <button name="submit" type="submit" value="sginup">sginup</button></form>PHP文件<?php&nbsp; &nbsp; if (isset($_POST["submit"])) {&nbsp; &nbsp; &nbsp; switch ($_POST["submit"]) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case "login":&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; login();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; case "sginup":&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;singup();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; default:&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; break;&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }?>
打开App,查看更多内容
随时随地看视频慕课网APP