0

ユーザーがログインするために入力した情報を確認するためのこのコードがあります。情報が正しい場合、次のページが表示されるはずですが、「ユーザーが見つかりません」というページが表示されるとは限りません。私のウェブサイトをアップロードした後、コードは正常に機能していましたが、次のエラーが発生していました:

[18-May-2012 15:07:31] PHP Warning: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent by (output started ....)"

私が検索していたとき、これがセッションの前に何らかの出力を引き起こすことがわかったので、修正しましたが、修正して間違った情報を入力すると、空白のページしか表示されません!! これはコードです:

<?php
ob_start();
session_start();
include("adBanner.html");
echo "<br />
<br />
<br />
<br />
<br />
<br />
";
// Connect to server and select databse.
$con = mysql_connect('localhost', 'root', 'pass')or die("cannot connect");
$sel = mysql_select_db('drsaada1_iexa',$con)or die("cannot select DB");
// username and password sent from form
$myusername = addslashes(strip_tags($_POST['myusername']));
$mypassword = addslashes(strip_tags($_POST['mypassword']));
if ($myusername && $mypassword){
  $finduser = mysql_query("SELECT * FROM instructor WHERE Name='".$myusername."' and     Password='".$mypassword."'")
  or die ("mysql error");
  if (mysql_num_rows($finduser)!=0){
    while ($row = mysql_fetch_assoc($finduser)){
      $uname = stripcslashes($row['Name']);
      $upass = stripcslashes($row['Password']);
    }
    if ($myusername == $uname AND $mypassword == $upass){
        $_SESSION['sessionname']= $uname ;
        $_SESSION['sessionpass']= $upass ;
        echo '<h3>Welcome '.$uname.' To iExamination System</h3> <br />
        <a href="Instructor.htm"><h2>Go To Instructor Page</h2></a>
        ';
    }
  }
//////////
 $findadmin = mysql_query("SELECT * FROM admin WHERE Username='".$myusername."' and     Password='".$mypassword."'")
  or die ("mysql error");
  if (mysql_num_rows($findadmin)!=0){
    while ($row = mysql_fetch_assoc($findadmin)){
      $iname = stripcslashes($row['Username']);
      $ipass = stripcslashes($row['Password']);
    }
    if ($myusername == $iname AND $mypassword == $ipass){
        $_SESSION['sessionna']= $iname ;
        $_SESSION['sessionpa']= $ipass ;
        echo '<h3>Welcome '.$iname.' To iExamination System</h3> <br />
        <a href="admin.htm">Go To Adminstrator Page</a>
        ';
    }
  }

}else {
  die ("Not Fouund User Or Page ");
}


mysql_close($con);
ob_end_flush();
?>
4

1 に答える 1

1

バッファ内で死ぬため、出力は表示されません。死ぬつもりなら、最初にバッファをob_end_clean()する必要があります。

于 2012-05-20T02:31:36.963 に答える