如果用户已登录,登录页面无法重定向到另一个页面

时间:2015-12-12 10:50:29

标签: php mysql

这是我用来登录的代码。如果我提供错误的用户名和密码,我将不会留在登录页面,index.php将自动刷新?

 <?php
    // When clicked on button Login
    if(isset($_POST['inloggen'])) {
        if (empty($_POST['username']) && empty($_POST['password'])) {

        } //Controls the statement if username and password are empty get an error else get into the database and get the login details.
        else {
            $username = $_POST['gebruikersnaam'];
            $password = $_POST['wachtwoord'];

            set_include_path (include "/database/DBconnectie.php");

            //de tabel selecteren van de database
            $sql = "SELECT gebruikersnaam, wachtwoord FROM klanten, medewerkers WHERE gebruikersnaam='$username' AND wachtwoord='$password'";
            $query = mysqli_query($conn, $sql);

            if ($query) {
                $row = mysqli_fetch_assoc($query);
                $dbgebruiker = $row['gebruikersnaam'];
                $dbwachtwoord = $row['wachtwoord'];
                $gebruikercheck = $row['med_gebruikersnaam'];
            }
            if ($username == $dbgebruiker && $password == $dbwachtwoord) {
                $_SESSION['gebruikersnaam'] = $dbgebruiker;
                $_SESSION['wachtwoord'] = $dbwachtwoord;
                $_SESSION['med_gebruikersnaam'] = $gebruikercheck;


                //controleren of de klant een medewerker is
                if ($gebruikercheck == $username) {
                    header('Location: medewerkers/index.php');
                } //als het geen medewerker is dan log je in als klant
                else {
                    header('Location: kopers/index.php');
                }
            } else {
                $melding = "Onjuiste gebruikersnaam en/of wachtwoord";

            }
            $conn->close();
        }
    }
    ?>

这是我用来登录的表格。它只是一个简单的登录小狗窗口。

<!-- Gebruikersnaam & Wachtwoord Login form -->
                    <div class="user_login">
                        <form method="POST">
                            <label style="margin-top:-4%;">Gebruikersnaam:</label>
                            <input type="text" name="gebruikersnaam"/>
                            <br/>
                            <label style="margin-top:-6%;">Wachtwoord:</label>
                            <input type="password" name="wachtwoord"/>
                            <a href="#" class="forgot_password" style=" margin-top:-0.3%;">Wachtwoord vergeten?</a>
                            <br/>
                            <div class="action_btns" style="margin-top:-8%; margin-bottom:9%;">
                                <div class="one_half"><a href="#" class="btn back_btn"><i
                                            class="fa fa-angle-double-left"></i>Terug</a></div>
                                <div class="one_half last"><button type="submit" class="btn btn_red" name="inloggen">Inloggen</button></div>
                            </div>
                        </form>
                        <?=$melding;?>
                    </div>

1 个答案:

答案 0 :(得分:0)

更改此

$sql = "SELECT gebruikersnaam, wachtwoord FROM klanten, medewerkers WHERE gebruikersnaam='$username' AND wachtwoord='$password'";

$sql = "SELECT med_gebruikersnaam,gebruikersnaam, wachtwoord FROM klanten, medewerkers WHERE gebruikersnaam='$username' AND wachtwoord='$password'";

因为您没有选择med_gebruikersnaam,所以:

$gebruikercheck = $row['med_gebruikersnaam']; //will always be unidentified.

如果$gebruikercheck未被识别,那么:

if ($gebruikercheck == $username) //will return false always.