0

私のヘッダーはローカルホストでは機能していましたが、オンラインでは機能していませんでした。

<?php
require_once 'func/func.php';


if(isset($_POST['sub'])){

$user = trim(mysqli_real_escape_string($dbc,$_POST['username']));
$pass = mysqli_real_escape_string($dbc,$_POST['pass']);
$sql = "select * from register where matric = '$user' and passw ='$pass'";
$result = mysqli_query($dbc,$sql) or die(mysqli_error($dbc));

$num = mysqli_num_rows($result) or die(mysqli_error($dbc));


if($num == 1){


$_SESSION['user_id'] = $row['user_id'];
$_SESSION['name'] = $row['fname'].' '.$row['lname'];
$_SESSION['trader'] = $row['trader'];
$_SESSION['pic'] = $row['passport'];
$_SESSION['username'] = $row['username'];
error_reporting(E_ALL | E_WARNING | E_NOTICE);
       ini_set('display_errors', TRUE);


         flush();
       header("Location: home/home.php");
                    die('should have redirected by now');


   echo $pass;
     }else{
  echo "Invalid User Name or Password";

   }
}


  ?>
 <html><head>

 </head>
 <body>
  <form action="" method="post">
<table width="409" border="0" align="center" cellpadding="4" cellspacing="4">
 <tr>
<td width="166">User Name</td>
<td width="215">

    <input type="text" name="username" id="text1">

</tr>
 <tr>
<td>Password</td>
<td><p>

    <input type="password" name="pass" id="password1">

</tr>
  <tr>
<td colspan="2" align="center"><input name="sub" type="submit" value="Login" /></td>
</tr>
   </table>
   <? if(isset($msg)) echo $msg; ?> </form>

 </body></html>

func ファイルには、localhost で動作しているセッションと mysqli 接続ファイルが含まれています。すべてのエラーが表示されている場合、エラーは表示されません。今ではリダイレクトされているはずです。私を助けてください

4

2 に答える 2

0

リダイレクトが機能します。問題は URL が正しくないことです。

次のようにしてみてください。

header("Location: http://site.com/home/home.php");
于 2012-10-07T11:55:57.083 に答える
0

この方法を試してください:

header("Location: ./home/home.php"); 
于 2012-10-07T11:57:06.100 に答える