【问题标题】:Two forms on same page and php script is not working同一页面上的两个表单和 php 脚本不起作用
【发布时间】:2015-07-27 09:23:35
【问题描述】:

有两种形式,一种是注册表单,另一种是登录表。当我使用注册表单注册时,它的 div 元素正在使用 isset 函数从 php 获取消息,但是当我在登录时做同样的事情时,它会将页面重定向到主页请帮助如果我试图匹配数据库如果不匹配它将从 php 获取值并显示在 div 中,如代码中所示,我该怎么办

    <?php 
    if (!empty($_POST['finish'])) {
       //do something here;
    include'php/signup.php';
    }

    if (!empty($_POST['go'])) {
       include'php/signin.php';
    }
    ?>      

    <html>
    <head>        
    <link rel="stylesheet" type="text/css" href="css/homepage.css">
    <link rel="stylesheet" type="text/css" href="css/login.css">
    <link rel="stylesheet" type="text/css" href="css/signup.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="js/login.js"></script> 
    <script src="js/signup.js"></script>        
    <script>
    function hideMessage() {
        document.getElementById("message").style.display = "none";
    };
    setTimeout(hideMessage, 5000);
    </script>
    </head>
    <body >
    <!--row starts here -->

    <div class="row">
    <div class="col-1-2">
    </div>
    <div class="col-1-2">
       <div class="container">

      <ul class="tabs">
        <li class="tab-link current" data-tab="tab-1">Sign Up</li>
        <li class="tab-link" data-tab="tab-2">Sign In</li>            
      </ul>        
      <div id="tab-1" class="tab-content current">            
    <div id="message"><?php if(isset($message)) echo $message; ?></div>
    <ul id="registration-step">
    <li id="account" class="highlight">Account</li>
    <li id="password">Password</li>
    <li id="general">Nick Name</li>
    </ul>
    <form name="frmRegistration" id="registration-form" method="post">
    <div id="account-field">
    <span id="email-error" class="registration-error"></span>
    <div><input type="text" name="email" id="email" class="demoInputBox" placeholder="E-mail"/></div>
    </div>        
    <div id="password-field" style="display:none;">
    <span id="password-error" class="registration-error"></span>
    <div><input type="password" name="password" id="user-password" class="demoInputBox" placeholder="Password"required /></div>        
    </div>        
    <div id="general-field" style="display:none;">        
    <div><input type="text" name="nickname" id="display-name" class="demoInputBox" placeholder="Nick Name"/></div>        
    </div>
    <div>
    <input class="btnAction" type="button" name="back" id="back" value="Back" style="display:none;">
    <input class="btnAction" type="button" name="next" id="next" value="Next" >
    <input class="btnAction" type="submit" name="finish" id="finish" value="Finish"  style="display:none;">
    </div>
    </form>        
    </div>     
     <div id="tab-2" class="tab-content">
    <div id="signinmsg"><?php if(isset($msg1)) echo $msg1; ?></div> 
    <form  name="signin"method="post">
        <input type="text" name="signinemail"class="demoInputBox"placeholder="E-mail">
        <br><br>
        <input type="text" class="demoInputBox"name="signinpass"placeholder="Password"><br><br>
    <input class="btnAction" type="submit" name="go" id="go" value="Go.." >     
    </form>
    </div> 
    </div>
    </div>        
    <!--this row ends here -->        
  </body>        
    </html>

【问题讨论】:

  • 尝试 isset 而不是 !empty

标签: php sql


【解决方案1】:

你应该检查isset而不是!empty

<?php 
    if (isset($_POST['finish'])) {
       //do something here;
    include'php/signup.php';
    }

    if (isset($_POST['go'])) {
       include'php/signin.php';
    }
?>

【讨论】:

  • 如果用户值与数据库匹配但它正在重定向页面请帮助
  • 检查您的脚本,看看是否有任何header() 函数使其重定向。如果我没有看到你的代码来确定你在哪里有一些混淆,我也无法确切地知道发生了什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
  • 1970-01-01
  • 2013-09-12
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
  • 2016-03-26
相关资源
最近更新 更多