ループしてログアウトできない・・・・・・昼直前まで検索等行うも解決ならず、くわっちょに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でのユーザーと管理者の表示判定・・・・・・
あー、やっぱし変数化がほしいいぃいい><