未返回登录名


Not returning a login

注册部分可以工作。注册按钮和登录按钮会将其带到我想要的页面,然而,它并不是将他们记录到他们所访问的页面,而是将他们带到常规页面,因此他们无法保存个人资料数据。它甚至没有在index.php页面上显示注册时的错误。

connection.php

<?php
    $link = mysqli_connect("localhost", "root", "", "test");
    if (mysqli_connect_error()) {
        echo "Could not connect to database";
    }
?>

login.php

<?php
    session_start();
    include("connection.php");
    if ($_POST['submit']=="Sign Up") {
        if (!$_POST['email']) $error.="<br />Please enter your email";
            else if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $error.="<br />Please enter a valid email address";
        if (!$_POST['password']) $error.="<br />Please enter your password";
            else {
            if (strlen($_POST['password'])<8) $error.="<br />Please enter a password with at least 8 characters";
            if (!preg_match('`[A-Z]`', $_POST['password'])) $error.="<br />Please enter at least 1 capital letter";
            }
         if ($error) $error = "There were error(s) in your signup details:".$error;
         else {

            $query = "SELECT * FROM `users` WHERE email='".mysqli_real_escape_string($link, $_POST['email'])."'";
            $result = mysqli_query($link, $query);
            $results = mysqli_num_rows($result);
            if ($results) $error = "That email address is already registered";
            else {
                $query="INSERT INTO `users` (`email`, `password`) VALUES('".mysqli_real_escape_string($link, $_POST['email'])."', '".md5(md5($_POST['email']).$_POST['password'])."')";
                mysqli_query($link, $query);
                $error = "You've been signed up!";
                $_SESSION['id']=mysqli_insert_id($link);

                header("Location:profile.php");
            }
        }
    }
     if ($_POST['submit']=="Log In") {
        $query="SELECT * FROM `users` WHERE email='".mysqli_real_escape_string($link, $_POST['loginemail'])."' AND password='".md5(md5($_POST['loginemail']).$_POST['loginpassword'])."' LIMIT 1";
        $result = mysqli_query($link, $query);
        $row = mysqli_fetch_array($result);
        if ($row) {
            $_SESSION['id']=$row['id'];
                header("Location:dashboard.php");
            } else {
             $error = "We could not find a user with that email and password. Please try again.";
            }
        }
?>

index.php

    <section data-scroll-reveal="enter bottom, move 20px, over 2s, wait 0.3s" class="mainslider">
    <div class="contentContainer" id="firstContainer">  
        <div class="container-fluid">       
            <div class="row" class="center">        
                    <br /><br />            
                <h3 class="companyMotto navChange">A Debt Accelerator Company</h3>              
                    <div style="background:transparent !important" class="jumbotron jumbotronHome">                     
                        <h1 class="quotes"><strong>We&#8217;re serious about <br /> getting you results</strong></h1>   
                        <h3><font color="#d24837">Get Started! It's FREE!</font></h3>                               
                    </div>  
                    <?php                        
                        if ($error) {                            
                            echo '<div class="alert alert danger">'.addslashes($error).'</div>';                         
                        }  
                        if ($message) {                            
                            echo '<div class="alert alert success">'.addslashes($message).'</div>';                         
                        }                                       
                    ?>      
                    <div class="col-md-4 col-md-offset-4">                                                      
                            <form method="post" action="login.php">
                                <div class="form-group">
                                    <input type="email" name="email" id="email" class="form-control" placeholder="Enter Your Email Address"  value="<?php echo addslashes ($_POST['email']); ?>" />
                                </div>
                                <div class="form-group">
                                    <input type="password" name="password" class="form-control" placeholder="Create a Password"  value="<?php echo addslashes ($_POST['password']); ?>" />
                                </div>                                                                  
                                <div class="text-center">
                                    <input type="submit" name="submit" class="btn btn-kani btn-lg" value="Sign Up"/>
                                </div>                                      
                            </form>                     
                    </div>              
              </div>                 
         </div>                         
    </div>
    </section>

在文件login.php的第7行,您应该只使用if ($_POST['submit']) {

我遇到了同样的问题,通过更改修复了它

if ($_POST['submit']=="Sign Up") 

链接到:

<input type="submit" name="submit" id="submit" value="Sign Up" />

if ($_POST['submit']=="Log In") 

哪个链接到:

<input type="submit" name="submit" id="submit" value="Log in" />

更改为:

if ($_POST['signup'])
    <input type="submit" name="signup" value="Sign Up" />

if ($_POST['login'])
    <input type="submit" name="login" value="Log in" />

现在它工作了,我想知道它是否与我的服务器上的PHP版本有关,它是5.5。希望这能帮助到其他有同样困难的人。