header("Location: empManage.php") ページは空白のページにジャンプし、
loginProcess.php:
//ユーザー データを受け入れる
//1.id
$id=$_POST["id"];
//2.パスワード
$password=$_POST["password"];
//にmysql 拡張ライブラリを検証するデータベース mysqli 拡張ライブラリ
//1. 接続を取得します
$conn=mysql_connect("localhost","root","root");
if(!$conn ){
die("Link failed".mysql_errno());
}
//データベースにアクセスするためのエンコーディングを設定します
mysql_query("set names utf-8",$conn) またはdie( mysql_errno());
//データベースを選択
mysql_select_db("empmanage",$conn) または die(mysql_errno());
// SQL ステートメントを送信、検証
// SQL インジェクション攻撃を防止し、検証ロジックを変更します
$sql="selectpassword from admin where id=$id";
// 入力された ID からデータベースのパスワードを取得し、その後入力したパスワードと組み合わせます Compare.
$res=mysql_query($sql,$conn);
if($row = mysql_fetch_assoc($res)){
//<🎜 へのクエリ> //データベースのパスワードを取得します
if(($row["password"]== md5($password))){
//説明は正当です
header("Location: empManage.php ");
}
}
header("Location:login.php?errno=1");
exit();
mysql_free_result($res );
mysql_close($conn);
/*
//単純な検証 (データベース内ではない)
if($id= ="100"&&$password= ="123"){
//合法的に、empManage.phpにジャンプします
header("Location:empManage.php");
//ジャンプしたい場合、 exit()
exit();
}else{
//Illegal user
header("Location:login.php?errno=1");
exit するのが最善です。 ();
}
*/
?>
コードは上記の通り、データベースに接続していない場合は、empManage.phpにジャンプできます。
データベースに接続すると、空白のページが表示されます。ジャンプするページは .php です。オンラインで何が起こっているのでしょうか? !
-----解決策-------------------------------- header() の前に出力はありません;
はページ HEAD の前に配置する必要があります。
投稿者の質問によると、
データベースが正常に接続できるかどうかを確認します。 🎜> エンコードが一貫しているかどうか。
$row["password"] と md5 ($password) に等しい値があるかどうか。
------解決策----------------------
コードにエラーは見当たりません。提案 最初にデバッグする必要があります。 header() を echo() に変更して、何かが出力されるかどうかを確認します。また、エラー メッセージがオンになっているかどうかを確認してください。
------解決策----------------------
$res=mysql_query($sql,$conn ;
------解決策---------
話し合う
$res=mysql_query($sql,$conn);