ループしてログアウトできない・・・・・・昼直前まで検索等行うも解決ならず、くわっちょにHELP。
したらあったよおかしいところ。
//session開始
session_start();
//セッションハイジャック対策
session_regenerate_id(true);
//データベース読み込み
require "./include.php";
//ユーザー名とパスワードが一致したらPOSTに格納
if($_POST["user_name"] !="" || $_POST["user_name"] !=NULL){
$user_name = $_POST["user_name"];
}
if($_POST["password"] !="" || $_POST["user_name"] !=NULL){
$password = $_POST["password"];
}
//XSS対策
$user_name = hg($_POST["user_name"]);
$password = hg($_POST["password"]);
require_once './include_errorcheck.php';
//print_r($_POST);
//ユーザー名を指定検索することでif判定と同等の処理。
$sql ="SELECT * FROM user WHERE del_flg=0 AND user_name ='".$user_name."'";
$result = mysql_query($sql);
//上記が通らないとデータが出ない。
//$row = mysql_fetch_array($result);
//print ($error_msg["euname"]);
//if($row["password"] == $password){
//上の$resultは抜けていたが、NULL判定がないために、
//『$passwordは空欄で正しい』という処理になっていた。
//$resultできたらパスワード判定と代入
if($row = mysql_fetch_array($result)){
if ($row["password"] == $password) {
$_SESSION["user_name"] = $row["user_name"];
$_SESSION["user_nickname"] = $row["user_nickname"];
$_SESSION["authority"] = $row["authority"];
header("Location: ./menu.php");
exit;
//print "デバッグ用目印。使うときはheaderに//をつける";
}else{
if($row != mysql_fetch_array($result)){
$error_msg["euname"]= "ユーザーが確認できません。";
$error_yn = "y";
}
if($row["password"] != $password){
$error_msg["epass"]= "パスワードが間違っています";
$error_yn = "y";
}
}
}
うー、とりあえずなんとか。
ユーザー名だけが合って、パスワードが間違ってたら×
エラーの言葉おかしいような気もするが、今日はログインここまで。
気分転換にmenuの表示判定。
<h2 Align=Center>メニュー</h2>
<table border=0 cellspacing="0" cellpadding="5" Align=Center>
<tr>
<td>
<?php echo $_SESSION["user_nickname"] . "さんでログインしています" ?>
</td>
<td>
権限:<?php echo $authority[$_SESSION["authority"]]?>
</td>
<td>
<a href="./ctr/logout_ctr.php">ログアウト</a>
</td>
</tr>
<tr>
<td>
<ul type="circle">
<?php if($_SESSION["authority"] ==1){?>
<li><a href="./index.php">一覧表示</a></li>
<li><a href="./upass_update.php">パスワードの変更</a></li>
<?php }else{?>
<li><a href="./index.php">一覧表示(新規登録・更新・削除)</a>span予定</li>
<li><a href="./upass_update.php">パスワードの変更</a></li>
<li><a href="./user_insert.php">ユーザーの登録</a></li>
<?php }?>
</ul>
</td>
</tr>
</table>
明日はindexでのユーザーと管理者の表示判定・・・・・・
あー、やっぱし変数化がほしいいぃいい><
0 件のコメント:
コメントを投稿