アシアル株式会社主催 開発者向け、一歩先をいくためのテクニカルセミナー

<< MySQLのテーブル表示 質問一覧 ディレクトリ名に%を含むページを表示... >>

  • 0P
通常ログイン認証

携帯サイト作成してます。
テキストでアドレス、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);

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

Q通常ログイン認証 bubera  [06月21日 19時32分] 
┣Re:通常ログイン認証 shimix  [06月21日 20時14分] 
┃┗Re:Re:通常ログイン認証 bubera  [06月21日 20時36分] 
┗Re:通常ログイン認証 magicflute2  [06月21日 20時17分] 
  ┗Re:Re:通常ログイン認証 bubera  [06月21日 20時40分] 
    ┗Re:Re:Re:通常ログイン認証 magicflute2  [06月21日 21時13分] 
      ┗Re:Re:Re:Re:通常ログイン認証 bubera  [06月21日 21時43分] 
        ┗Re:Re:Re:Re:Re:通常ログイン認証 magicflute2  [06月21日 21時54分] 
          ┗Re:Re:Re:Re:Re:Re:通常ログイン認証 bubera  [06月21日 22時00分] 

コメント一覧

並び替え( ツリー順 / 投稿順[降順] / 投稿順[昇順]

Re:通常ログイン認証

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

>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というのは何でしょう・・

Re:Re:通常ログイン認証

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

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

Re:通常ログイン認証

エラーではありません。
書かれたコードを、上から下へ“忠実に”実行し、
条件に一致したので、変数$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');

Re:Re:通常ログイン認証

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
とでました;
これはなんでしょうか?><;

Re:Re:Re:通常ログイン認証

知りたいのはこちらでした。
  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にした上で、開発を進める事をお奨めします。

Re:Re:Re:Re:通常ログイン認証

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

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

Re:Re:Re:Re:Re:通常ログイン認証

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

Re:Re:Re:Re:Re:Re:通常ログイン認証

わかりました^^
ご指導ご教授ありがとうございました^^
MySQLのテーブル表示 質問一覧 ディレクトリ名に%を含むページを表示...