Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中需要重定向帮助吗_Php_Mysql - Fatal编程技术网

在PHP中需要重定向帮助吗

在PHP中需要重定向帮助吗,php,mysql,Php,Mysql,我在本地服务器上制作了一个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

我在本地服务器上制作了一个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>
<?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;
     }
    ?>

用户名:
密码::
do_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>
<?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;
     }
    ?>

从页面顶部开始会话

session_start(); 
如果在会话开始之前发送任何输出,则会在头重定向中产生问题

否则,您可以使用
它还可以用作头重定向。

使用ob_start()来防止发送头

因此:


你犯了什么错误?@MuhammadRizwan只是想指出一些事情:1。可能是输入错误,但您将表单发送到
do_login.php
,而不是
dologin.php
(如您上面所述)。2.你知道你不应该在不将密码散列到数据库中的情况下存储密码吗?要么是相对URL,要么是发送标题前输出的内容使用
错误报告(E_ALL)
ini\u集('display\u errors',1)以查看错误。另外,不要使用
mysql
函数,它们已被弃用,请使用
mysqli
PDO
。通过转义来自外部的变量或使用准备好的语句来避免sql注入。将密码存储为明文是非常糟糕的做法,永远不应该这样做。有关在数据库中存储密码的详细说明,请参阅。OP在
session\u start()
@lolka\u bolka之前未发送任何不确定的输出。OP包含了另外两个可以显示输出的文件。也可能是
dbConnect.php
实际上被命名为
dbConnect.php
,OP被移动到了基于linux的服务器上。在这种情况下,将生成通知并停止重定向working@DarkBee我同意你的看法