簡體   English   中英

從登錄頁面重定向到下一頁

[英]redirect from login page to next page

我正在用php創建登錄表單。 我參考了來自stackoverflow的問題之一,並擁有此代碼。

<?php
ob_start();
session_start();
include("connection.php");
if($_SERVER["REQUEST_METHOD"] == "POST")
    {
        $myemail = mysqli_real_escape_string($con, $_POST['email']);
        $mypassword = mysqli_real_escape_string($con, $_POST['password']);

        $isblock = false;
        $wrong_user_pwd = false;
            $sql = "SELECT * FROM register WHERE email='$myemail' and password='$mypassword' and status='vendor'";
            $result = mysqli_query($con, $sql);

            if (mysqli_num_rows($result) > 0)
                {
                    while($row = mysqli_fetch_assoc($result)) 
                        {
                            $_SESSION['login_user']= $row["email"];
                            if($row['block'] == 'active')
                                {
                                    echo '<script language="javascript">';
                                    echo 'alert("user blocked")';
                                    echo '</script>';

                                }
                            if($row['block'] == 'inactive')
                                {
                                    header("Location: vendorpanel.php");
                                }                               
                        }
                }

        else 
            {
                echo '<script language="javascript">';
                echo 'alert("invalid email/password")';
                echo '</script>';
            }
    }

?>
<form class="login-form" action="" method="POST">
    <h1>Login Form</h1>
    <div>
        <input type="text" placeholder="email" required="" id="email" name="email" />
    </div>
    <div>
        <input type="password" placeholder="Password" required="" id="password" name="password"/>
    </div>
    <div>
        <input type="submit" value="Log in" name="submit" />
    </div>
</form>

我的警告正常運行,但是在正常登錄狀態下,我無法從登錄頁面將頁面重定向到下一頁。 它沒有顯示警告,但也沒有前進

在php腳本的開頭,您使用以下命令開始輸出緩沖: ob_start(); ,但是您沒有在文件末尾刷新輸出。

解決方案:刪除ob_start(); 從文件開頭開始,或使用以下命令刷新文件末尾的輸出緩沖區: ob_end_flush(); 這應該在結束<form>標記之后:

</ FORM>

<?php ob_end_flush(); ?>

嗨,您可以嘗試使用Java腳本進行重定向。 請嘗試使用此代碼代替標題

echo '<script language="javascript">';
echo " window.location.href = 'http://www.google.com'";
echo '</script>';

除了使用標頭,您還可以使用javascript進行重定向:

而不是使用

   header("Location: vendorpanel.php");

您可以使用

  echo '<script language="javascript">';
  echo 'window.location = "vendorpanel.php"';
  echo '</script>';

注意(以上方法在使用JAVASCRIPT登錄后將用戶重定向)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM