PHPについて質問です。


現在ログインシステムを作成しているのですが、うまく作用せず困っております。

ログイン方法ですがデータベースにあるIDとPWが照合した場合のみ、ページ移動するようにしているのですが

IDとPWが違っていても、ページ移動する状況になっております。

データベースへ現在登録されているIDとPWはID:test PW:test の一個のみですが、test以外の文字を入れても次のページへ移動します。

私のSQL命令が間違えているのかもしれないですが一度時間がある方おりましたら確認をして頂けないでしょうか。

ページ:http://oskuni7.sakura.ne.jp/id_pw.php
コード:http://oskuni7.sakura.ne.jp/id_pw.txt

またログインシステムでこんな変わったやり方やこんな使い方が出来るなどありましたら教えて頂けないでしょうか?

また会員制サイトでログアウトしない限り常にログイン状況になっているものがありますが、
あのシステムはこのログインだけのページでも適用されるものなのでしょうか?

ポイント多めに支払わせて頂きますのでよろしくお願いいたします。



回答の条件
  • 1人2回まで
  • 登録:2008/11/24 11:31:47
  • 終了:2008/11/25 00:42:25

ベストアンサー

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912008/11/24 12:07:12

ポイント100pt

DB から ID とパスワードの条件で検索していますが、クエリ自体が間違っているわけではないので、

$rs は FALSE にはなりません。


	if(!$rs)

の部分を

        if( mysql_num_rows($rs) == 1 )

としてどうですか。

http://www.phppro.jp/phpmanual/php/function.mysql-fetch-assoc.ht...

的外れでしたら、ポイント不要です。


原形ができた後での次のステップで良いと思いますが、パスワードを平文でDBに入れるのはセキュリティ的に

好ましくないので、MD5関数などで、暗号化するようにしたほうが良いかと思います。

id:aiomock

ご回答ありがとうございます。試しにやってみます。

常にログイン状態にするにはクッキーという機能を使えばいいのでしょうか?

ずっとログイン・ログアウトする状況にするにはどうすればいいかを知っているかたおりましたらよろしくお願いいたします。

2008/11/24 14:47:22

その他の回答(1件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912008/11/24 12:07:12ここでベストアンサー

ポイント100pt

DB から ID とパスワードの条件で検索していますが、クエリ自体が間違っているわけではないので、

$rs は FALSE にはなりません。


	if(!$rs)

の部分を

        if( mysql_num_rows($rs) == 1 )

としてどうですか。

http://www.phppro.jp/phpmanual/php/function.mysql-fetch-assoc.ht...

的外れでしたら、ポイント不要です。


原形ができた後での次のステップで良いと思いますが、パスワードを平文でDBに入れるのはセキュリティ的に

好ましくないので、MD5関数などで、暗号化するようにしたほうが良いかと思います。

id:aiomock

ご回答ありがとうございます。試しにやってみます。

常にログイン状態にするにはクッキーという機能を使えばいいのでしょうか?

ずっとログイン・ログアウトする状況にするにはどうすればいいかを知っているかたおりましたらよろしくお願いいたします。

2008/11/24 14:47:22
id:kou32rr No.2

kou32rr回答回数197ベストアンサー獲得回数82008/11/24 18:03:03

ポイント50pt

のっかりで。

>常にログイン状態にするにはクッキーという機能を使えばいいのでしょうか?

通常はセッションを使うと思います。

http://php-web.net/nyumon/session.html

クッキーは、PHPでセッションを扱う時にデフォルトで利用されます。

if($_SESSION['id'] == $sqlresult['id'] && $_SESSION['pass'] == $sqlresult['pass']{

ログイン後の処理内容

}

みたいな感じです。

常にhiddenで渡していく方法もありますが、

推奨されていません・

id:aiomock

ご回答ありがとうございます。

2008/11/24 18:36:03
  • id:Mook
    条件が反対でしたね。
    if( mysql_num_rows($rs) != 1 )
    でお試しください。
  • id:Mook
    結果はどうだったんでしょうか。

    それはともかく、ログイン状態をどう認識するかは実装しだいです。
    Cookie はただの記録ファイルですから、それをどのように利用するかは
    サイトの仕組み次第です。
    http://www.thinkit.co.jp/free/article/0604/7/8/

    一から作成するのもスキル向上のためには良いですが、下記のようなライブラリもあります。
    http://www.phpbook.jp/pear/pear_auth/
  • id:aiomock
    MooKさん

    プログラム実行できました。

    ありがとうございます^^。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません