• 締切済み

phpでのif文、正規表現について

Tasuke22の回答

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.2

パスワードの条件チェックはログイン時ではなく、新規ID作成時やパスワード変更時では? ログイン時のチェックはIDとパスワードの一致のみでしょう。 プログラムを書く前に業務フローレベルで整理整頓されたら如何でしょうか。 失礼ながらとんちんかんレベルです。 また大文字小文字などのチェックは、効率やレスポンス性を考えると、Javascriptで行う方がいいと思いますけど。 PHPはサーバでないと出来ないことに絞った方がいいと思います。 ログイン処理は、PHP認証で調べたら幾らでも見本があるのではないでしょうか。

関連するQ&A

  • phpの正規表現について

    phpの正規表現についてです。 よく入力されたメール・パスワードを判定するのに正規表現で判定させますが、今回の指定する条件は… ・半角英数、0~9の組み合わせ ・使用禁止文字は \ ' @ [ ] の5つ ・入力は8文字以内 例 if(ereg("^[0-9a-z\!\"\#\$\%\&\(\)\=\-\~\|\{\}\;\:\+\*\,\.\/\<\>\?\_]{1,8}$", $pw)){ 記号の意味でよくわからないのがあるのですが、 { }は文字数を指定するものでよろしいのでしょうか? {1,8} は1~8文字までという意味? \が入ると認証が通ってしまってい、困っています。 ユーザーの入力    MySQLの取得結果 例 123\        → データが入らない   \123        → 123   \\123        → \123   123\123      → 123123   \\          → \ といった不具合になってしまい、MySQL側でも入力されたデータと異なったデータが入ってしまいます。\が入っても認証されないようにするにはどうすればいいんでしょうか? 正規表現の参考にしたサイトは http://itbtech.itboost.co.jp/php/php_06.php です。アドバイスよろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPの正規表現eregの使い方

    PHP初心者です。 eregを使った入力チェックをしたいのですが、思うように処理できません。 入力は半角英数字のみを受け付け、その他の入力の場合はエラー処理を行いたいと思ってます。 if (!ereg("^[0-9]+$", $user)) { // 半角英数字以外はエラー処理 } 参考のものがあったのでその通りやってみましたが、全角文字も受け付けてしまい困っています。 記号の意味もよくわかりません。 また、これに加え5文字以上8文字以内という条件も付けたいです。 よろしくお願い致します。

    • 締切済み
    • PHP
  • PHP 正規表現

    はじめまして^^ 現在、PHPでプログラムを作っています。 そして、文字列の置き換えをする機会があり、 正規表現をつかうことになりました!! 置き換えに使う関数は、mb_ereg_replaceです! ある条件にあった部分の文字列を置き換えしたいと思っています。 そして、いろいろとやっていきましたら、あるひとつの壁にぶつかりました。。 例えば、PHPでは、正規表現の部分を [^文字]とやると、『文』と『字』という文字列以外にマッチという意味になるらしいのですが、 『文字』という文字列以外にマッチ、というふうに、表現したい場合は、 どう表現すればよいのですか? [^(文字)]とか、その他いろいろ、 自分なりに、色々ためしたのですが、うんともすんともいいません、、 どなたか、わかる方教えて下さいm(_ _)m

    • ベストアンサー
    • PHP
  • 正規表現でブロックしたい

    正規表現で下記のパスワードをブロックしたいのですが、どうすれば良いですか。 ・8文字以上の半角英数字(記号入り) ・パスワード中に必ず、英字、数字、記号を1文字を入れる

  • PHPでのNULLの正規表現

    PHPの正規表現で、使える文字が数字またはコンマの場合の書き方 '/^[0-9,]+$/' に使える文字として、NULL文字も追加したいのですが、 その書き方がよく分かりません。 正規表現としては、どのように書けばいいのでしょうか?

    • 締切済み
    • PHP
  • 正規表現

    半角英数字で、最初に数字が付く文字列に対してfalseを出す正規表現はどのように行えばよいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpの正規表現

    phpの正規表現で困っています。 下記のような文で括弧で囲まれた文字列だけを消したいのですが、 (ABC)あいうえお(DEF) /(.*)/で置換すると文章が全部消えてしまいます。 「あいうえお」だけを残したいのですがうまくいきません。何方か教えてください。お願いします!

    • ベストアンサー
    • PHP
  • 正規表現

    正規表現について勉強中です。 先頭2文字をたとえばYQで入力させたい場合は どうマッチさせればよいのでしょうか? if string.match(/^YQ|[0-9]/) == null { nullの場合の処理 } としていますが、うまくいきません。 正規表現についてはまったくの初心者ですので、 笑わないでくださいね。

  • phpのif文について

    phpでログイン処理のif文を書いています。 nameとpasswordのフィールドが記入されているのかをチェックするif文を書いたのですが、機能してくれません。何かが間違っているのでしょうか。 何も入力しないor間違った情報を入力する ということをしてもログインが出来てしまいます。 どなたかテェックお願い致します。 <?php require('dbconnect.php'); session_start(); if ($_COOKIE['name'] != '') { $_POST['name'] = $_COOKIE['name']; $_POST['password'] = $_COOKIE['password']; $_POST['save'] = 'on'; } if (!empty($_POST)) { // ログインの処理 if ($_POST['name'] != '' && $_POST['password'] != '') { $sql = sprintf('SELECT * FROM members WHERE name="%s" AND password="%s"', mysql_real_escape_string($_POST['name']), sha1(mysql_real_escape_string($_POST['password'])) ); $record = mysql_query($sql) or die(mysql_error()); if ($table = mysql_fetch_assoc($record)) { // ログイン成功 $_SESSION['id'] = $table['id']; $_SESSION['time'] = time(); // ログイン情報を記録する if ($_POST['save'] == 'on') { setcookie('name', $_POST['name'], time()+60*60*24*14); setcookie('password', $_POST['password'], time()+60*60*24*14); } header('Location: index.php'); exit(); } else { $error['login'] = 'failed'; } } else { $error['login'] = 'blank'; } } ?>

    • ベストアンサー
    • PHP
  • 正規表現で、全角文字を半角文字にする方法

    エディター等で使用できる、通常の正規表現で、例えば、全角文字を半角文字にする方法はありますでしょうか? ※つまり、PerlのtrやPHPのstrtrのようなことです。 例えば、正規表現対応のエディターで、サイト全体の全角英数字を半角英数字にするような処理をしたいのですが。

    • ベストアンサー
    • Perl