通常ログイン認証 - PHPプロ!Q&A掲示板

2775

  • 0P

通常ログイン認証

質問日時 / 2010年6月21日 19:32    回答数 / 8件

Questioner:  bubera  このエントリーをはてなブックマークに追加 

キーワード / PHP   

携帯サイト作成してます。
テキストでアドレス、passをユーザーが入力したものをDBを照合させ、認証させたいのですが、正しく入力しても、エラーメッセージ($error)が返ってきます。
ご教授のほど宜しくです

  1. <?php
  2. if(empty($name)){
  3.      $error='メールアドレス、またはパスワードを入力して下さい';
  4.           require_once 'login.php';
  5.  exit;
  6. }else if(empty($pass)){
  7.        $error='メールアドレス、またはパスワードを入力して下さい';
  8.           require_once 'login.php';
  9.  exit;
  10. }
  11.  
  12.   
  13.      
  14. $pass=$_GET['pass'];
  15. $mail=$_GET['mail'];
  16.  // DB接続する 
  17.    $conn = mysql_connect("$srv","$db","123456") or die("error");
  18.    mysql_query("set character set sjis") or die("errror");
  19.    mysql_select_db("$db") or die("error");   
  20.    $sql = sprintf("SELECT mail,pass FROM users where (mail = '%s')AND(pass = '%s')",
  21.  mysql_real_escape_string($mail),
  22.  mysql_real_escape_string($pass));
  23.  
  24.    $res = mysql_query($sql$conn) or die("error")
  25.    $count = mysql_num_rows($res)
  26.    //一致か判断?
  27. if ($count == 0 ) {
  28.   $error'<font color="red">メールアドレスかパスワードが正しくありません</font>';
  29.      require_once 'login.php';
  30.  exit;
  31. }
  32.   
  33. mysql_close($con);

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┣A01shimixどのエラーメッセージが返るのでしょう? >if(empt
┃┗A01-1buberashimixさんお久しぶりです。 すみません。自分の記入
┗A02magicflute2エラーではありません。 書かれたコードを、上から下
 ┗A02-1buberamagicflute2さん回答ありがとうございます^^ >>C
  ┗A02-1-1magicflute2知りたいのはこちらでした。 >>CODE <?php echo 'r
   ┗A02-1-1-1bubera>>CODE require_once 'login.php'; exit; } <<CO
    ┗A02-1-1-1-1magicflute2register_globals is disabled であるなら、当方の取
     ┗A02-1-1-1-1-1buberaわかりました^^ ご指導ご教授ありがとうございまし

回答一覧

並び替え:

A01
answerershimix [6月21日 20:14]

どのエラーメッセージが返るのでしょう?

>if(empty($name)){
>     $error='メールアドレス、またはパスワードを入力して下さい';
>          require_once 'login.php';
exit;
>}else if(empty($pass)){
>       $error='メールアドレス、またはパスワードを入力して下さい';
>          require_once 'login.php';
exit;
>}

$nameや$passという変数がどこから来たものかがわかりません。普通はこの時点で引っかかるのでは?$_GETから$mail,$passにセットする前ですし、まして$nameというのは何でしょう・・

この意見に回答する

ツリーへ TOPへ

A01-1
replyerbubera [6月21日 20:36]

shimixさんお久しぶりです。
すみません。自分の記入ミスでした。
上記のソースはmailアドレスとパスワードを一致させたかったのですが、$mailを$nameと間違って記述してたのとmysql_close($conn);のところをmysql_close($con);とnも抜けてました・・・。

修正したら問題なく正常に動作いたしました><;

この意見に回答する

ツリーへ TOPへ

A02
answerermagicflute2 [6月21日 20:17]

エラーではありません。
書かれたコードを、上から下へ“忠実に”実行し、
条件に一致したので、変数$errorに値を入れ、表示しただけです。

他に気づいた点として、
・$nameがどこからきたのか
・なぜ、GETを使うのか
・$_GETの位置もおかしい
・以下のコードを、よく見かけますが、何を参考にしていますか
  1. <?php
  2. if(empty($name)){
  3.   ;
  4.   require_once 'login.php';
  5.   exit;
  6. }

製作環境を知りたいので、
以下を先頭に加え、結果を報告ください。
  1. <?php
  2. error_reporting(E_ALL);
  3. echo 'magic_quotes is '.(get_magic_quotes_gpc()?'enabled':'disabled');

この意見に回答する

ツリーへ TOPへ

A02-1
replyerbubera [6月21日 20:40]

magicflute2さん回答ありがとうございます^^

  1. <?php
  2. if(empty($name)){
  3.   require_once 'login.php';
  4.   exit;
  5. }
は、login.phpでエラーを表示させたかったので利用しております;

  1. <?php
  2. error_reporting(E_ALL);
  3. echo 'magic_quotes is '.(get_magic_quotes_gpc()?'enabled':'disabled');
やってっみたところ、
magic_quotes is enabled
とでました;
これはなんでしょうか?><;

この意見に回答する

ツリーへ TOPへ

A02-1-1
replyermagicflute2 [6月21日 21:13]

知りたいのはこちらでした。
  1. <?php
  2. echo 'register_globals is '(ini_get('register_globals')'enabled':'disabled');
この機能は、推奨されていませんし、将来、削除される機能です。
http://www.phppro.jp/qa/answer/2775/11052

php.ini、.htaccessで機能をOffにした上で、開発を進める事をお奨めします。

この意見に回答する

ツリーへ TOPへ

A02-1-1-1
replyerbubera [6月21日 21:43]

  1. require_once 'login.php';
  2.  exit;
  3. }
↑の機能が削除されるのですか?><;

magicflute2さんのソース試した結果ですが
register_globals is disabled
と表示されました^^

この意見に回答する

ツリーへ TOPへ

A02-1-1-1-1
replyermagicflute2 [6月21日 21:54]

register_globals is disabled
であるなら、当方の取り越し苦労ですので、
気にしないで下さい。

この意見に回答する

ツリーへ TOPへ

A02-1-1-1-1-1
replyerbubera [6月21日 22:00]

わかりました^^
ご指導ご教授ありがとうございました^^

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
動的なURLを静的に見せる方法
 このエントリーをはてなブックマークに追加 
A
普通に考えて、mod_rewrite でしょうね。 http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html...

>>続きを読む

GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)