2012-02-04 11 views
0
$query=sprintf("SELECT member FROM".$table_name."WHERE member=%s AND memberpwd=%s",$membername,$memberpassword); 
$result=mysql_query($query); 
if(!$result) 
{ 
    echo "Unable to select members"; 
    mysql_close(); 
    exit(); 
} 
$rowNum=mysql_num_rows($result); 
if(0!=$rowNum) 
{ 
    session_start(); 
    $user=mysql_result($result,0,'member'); 
    $_SESSION['user']=$user; 
    header('Location:index.php'); 
    echo "Welcome ".$user; 
     exit(); 
} 

このコードを使用してログインユーザーを検証し、セッションを開始しますが、ブラウザに何も表示されません。フォーラムのログインメンバーのように、彼が訪問したすべてのページにログインユーザーが表示されるようにしたいと思いますが、セッションをCookieと一緒に使用してどこかに保存する方法がわからないので、再訪問ごとに記憶されます。これは私にとって最も難しい部分です。誰かが私を助けてくれますか?基本的なログインユーザーとセッションとクッキー

編集:申し訳ありませんが、私のPHPの知識はそこに到達して停止します。セッション部分。私がABCセッションでチュートリアルを説明することができれば、本当に役に立ちます。ありがとうございます。

+0

あなたはSQLインジェクション/ハックのために広く利用されています。最初にクエリのパラメータを設定し、それを安全に実行してください。そうしないと、最初のハッカーが始める前に完了します。 – DRapp

+0

ありがとうございます、現在私は働くものだけが必要です。 – Mackintoast

答えて

0

第2の特殊ケースは、 "ロケーション" です。このヘッダーをブラウザに送り返すだけでなく、201または3xxのステータスコード が既に設定されていない限り、ブラウザにリダイレクト (302)ステータスコードが返されます。 (header() on php.net

<?php 
header("Location: http://www.example.com/"); /* Redirect browser */ 
/* Make sure that code below does not get executed when we redirect. */ 
exit; 
?> 

それが原因リダイレクト表示されていません。 index.phpにecho "Welcome ".$_SESSION['user'];を置きます。

0

$memberが定義されておらず、下部にあります。

echo "Welcome ".$user;

...動作するはずです。ヘッダ:

+0

それを指摘してくれてありがとう。私は自分の投稿を編集しますが、ログインフォームは投稿後も同じ空白ページになります。 – Mackintoast

関連する問題