2010-12-16 24 views
0

セッションのユーザー名がデータベースのレコードと一致するかどうかを確認しようとしています。データベースからの情報の取得

これは、セッションのユーザー名は私のデータベースのレコードと一致していない、まだファイルが含まれている私のコード

<?php 
$username = $_SESSION['username']; 
echo $username; 
include('connect.php'); 
mysqli_select_db($connect,"persons"); 

$sql = "SELECT * FROM users WHERE sessionusername='$username'"; 

$r = mysqli_query($connect,$sql) or die(mysqli_error($connect)); 

$geez = mysqli_fetch_array($r); 

if($geez) 
{ 
    include('check.php'); 

} 

else 
{ 
echo "error"; 
} 
?> 

です。どうして?

OH、問題が見つかりました。 ITは、rootに自分のユーザー名を検討している...しかし、私はECHO $ _SESSION [ 'USERNAME']を言うとき、ITはCRAIG @ CRAIG.COM..WHY SO IS>

あなたは単純に配列 $geezかどうかをテストしている
+0

のvar_dump($もぉ)? –

+0

配列(6){[0] =>文字列(4) "ルート" ["sessionusername"] =>文字列(4) "ルート" – craig

+0

現在のセッションユーザー名は[email protected] – craig

答えて

0
<?php 
$username = $_SESSION['username']; 
echo $username; 
include('connect.php'); 
mysqli_select_db($connect,"persons"); 

$sql = "SELECT sessionusername FROM users WHERE sessionusername='$username'"; 

$r = mysqli_query($connect,$sql) or die(mysqli_error($connect)); 

$geez = mysqli_fetch_array($r); 

if($geez["sessionusername"]==$username) 
{ 
    include('check.php'); 

} 

else 
{ 
echo "error"; 
} 
?> 
0

空であるかどうか。配列の中に何かがある場合、if($geez)はtrueを返します。この動作を停止するには、ceteras「答えは、特にこの部分参照してください。

 
if($geez["sessionusername"]==$username) 
{ 
    include('check.php'); 

} 

を、私はそれが変更された部分のみだと信じています。

おかげで、それは言うこと

ジェームズ

+0

私はCeterasの回答を適用しましたが、ユーザ名がデータベースのユーザ名と一致しても、ファイルは含まれていません。 – craig

+0

これを挿入します:echo "|"。$ geez ["sessionusername"]。 "|"; ifの前に。結果は何ですか? – ceteras

関連する問題