簡體   English   中英

重定向提交按鈕(登錄頁面)

[英]Redirect submit button (Login page)

我有一點問題。 我有一個帶有“提交”按鈕的登錄框,但是無法重定向到另一個頁面。 我輸入了電子郵件和密碼,但它不起作用,僅停留在第一頁上。 我能做什么?

我用這個:

header("Location: home.php");

這是我的代碼:

<?php session_start();
    include_once 'dbconnect.php';
    if(isset($_SESSION['user'])!="") {
        header("Location: home.php");
    }
    if(isset($_POST['btn-login'])) {
    $email = mysql_real_escape_string($_POST['email']);
    $upass = mysql_real_escape_string($_POST['pass']);
    $res=mysql_query("SELECT * FROM users WHERE email='$email'");
    $row=mysql_fetch_array($res);
    if($row['password']==md5($upass)) {
        $_SESSION['user'] = $row['user_id'];
        header("Location: home.php");
    } else {
?>
<script>alert('wrong details');</script>
<?php } } ?> 

首先, isset($_SESSION['user'])返回布爾值: truefalse而不是“”,因此必須使用if(isset($_SESSION['user']) && $_SESSION['user']!="")

第二,您所有的mysql_*函數都被棄用。

最好不要混合使用PHP和JS代碼。

<?php session_start();
include_once 'dbconnect.php';
if(isset($_SESSION['user']) && $_SESSION['user']!='') {
    header("Location: home.php");
}
if(isset($_POST['btn-login'])) {
  $email = mysql_real_escape_string($_POST['email']);
  $upass = mysql_real_escape_string($_POST['pass']);
  $res=mysql_query("SELECT * FROM users WHERE email='$email'");
  $row=mysql_fetch_array($res);
  $_SESSION['user']='we have pw';
  if( $row['password']==md5($upass) ) {

      $_SESSION['user'] = $row['user_id'];
      header("Location: home.php");
} else {?>
      <script>alert('wrong details');</script>

您的密碼轉換為md5了嗎? 在這一行應該是問題所在。 提及:如果這是您的home.php,則它將整天重定向。

改變這個

header("Location: home.php");

echo "<script>window.location.assign("home.php")</script>";

嘗試這個:

<?php session_start();
include_once 'dbconnect.php';
if(isset($_SESSION['user'])!="") {
    header("Location: home.php");
}
if(isset($_POST['btn-login'])) {
$email = mysql_real_escape_string($_POST['email']);
$upass = mysql_real_escape_string($_POST['pass']);
$res=mysql_query("SELECT * FROM users WHERE email='$email' AND password= 'md5($upass)' ");
$row=mysql_fetch_array($res);
if($row) {
    $_SESSION['user'] = $row['user_id'];
    header("Location: home.php");
} else {
?>
 <script>alert('wrong details');</script>


<?php }} ?> 

暫無
暫無

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

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