簡體   English   中英

在PHP重定向中需要幫助

[英]need help in redirecting in PHP

我制作了一個Web應用程序,在本地服務器上運行良好,但是當我將其上傳到Web服務器上時卻出現了錯誤。 login.php:

 <form action="do_login.php" method="post">
 <table>
 <tr>
<td width="256" align="center">Username:</td>
<td width="20"></td>
<td width="257"><input name="user" type="text" id="user" size="25" /></td>
</tr>

<tr>
<td align="center">Password::</td>
<td></td>
<td><input name="password" type="password" id="password"  size="25" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td>
  <input name="submit" type="submit" value="Login" id="submit_btn"/>
  <input name="reset" type="reset" value="Reset" id="reset_btn" />  </td>
</tr>
</table>
</form>

do_login.php:

<?php
include 'includes/dbConnect.php';  
include 'includes/authentication.php'; 

$my_user = $_POST['user'];
$my_password = $_POST['password'];

 if ($my_user == '' || $my_password == '')
    {
        $myURL = 'error.php?eType=pass';
        header('Location: '.$myURL);
        exit;
    }

 $result = mysql_query("SELECT * FROM users where username = '$my_user' and password =   '$my_password'") or die("SELECT Error: ".mysql_error());
  $get_info = mysql_fetch_row($result);

    if (mysql_num_rows($result) > 0)
    { 
        session_start(); 
        $_SESSION['login_status'] = "yes" ;
        $_SESSION['email'] = $get_info['3'];
        $_SESSION['full_name'] = $get_info['0'];

        $myURL = 'admin.php';
        header('Location: '.$myURL);
    }
   else
    {
        $myURL = 'error.php?eType=wrong';
        header('Location: '.$myURL);
        exit;
     }
    ?>

用戶登錄時,需要登錄dologin.php,但不要將其重定向到admin.php。 在本地服務器上,它對我來說很好,但是現在我遇到了問題。 請指導我在哪里我做錯了。

在頁面頂部開始會話

session_start(); 

如果要在會話開始之前發送任何輸出,則它將在標頭重定向中產生問題。

否則,您可以使用<meta http-equiv="Location" content="admin.php">它也可以用作標頭重定向。

使用ob_start()防止發送標頭。

所以:

<?php

ob_start();

include 'includes/dbConnect.php';  
include 'includes/authentication.php'; 

$my_user = $_POST['user'];
$my_password = $_POST['password'];

 if ($my_user == '' || $my_password == '')
    {
        $myURL = 'error.php?eType=pass';
        header('Location: '.$myURL);
        exit;
    }

 $result = mysql_query("SELECT * FROM users where username = '$my_user' and password =   '$my_password'") or die("SELECT Error: ".mysql_error());
  $get_info = mysql_fetch_row($result);

    if (mysql_num_rows($result) > 0)
    { 
        session_start(); 
        $_SESSION['login_status'] = "yes" ;
        $_SESSION['email'] = $get_info['3'];
        $_SESSION['full_name'] = $get_info['0'];

        $myURL = 'admin.php';
        header('Location: '.$myURL);
    }
   else
    {
        $myURL = 'error.php?eType=wrong';
        header('Location: '.$myURL);
        exit;
     }
?>

暫無
暫無

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

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