2012年2月19日日曜日

開発環境

  • OS X Lion - Apple(OS)
  • Apache (Web Server)
  • PHP (サーバーサイドプログラミング言語)
  • MySQL (データベース)
  • TextWrangler(Text Editor) (BBEditの無料機能制限版、light版)

『初めてのPHP & MySQL 第2版』(Michele E. DavisJon A. Phillips 著、西沢 直木 訳、オライリー・ジャパン、2008年、ISBN978-4-87311-365-4)の16章(検証とエラーハンドリング)の問題を解いてみる。

問16-1.

JadvaScriptを使用してフォーム入力を検証する方法は、サーバ上ではなく、主にクライアントのコンピュータのブラウザ内で実行されるので、ファイルシステムやネットワークリソースなど、セキュリティ上の毛圏がある部分にはアクセスできないというメリットがある。

ただし、JavaScriptはユーザ側で無効にすることも出来るので、その場合JavaScriptを使用してフォーム入力を検証できないというデメリットがある。

問16-2.

コード(TextWrangler)

var result = "ユーザ名は6文字以上で入力";
$('#pre0').html(result);

問16-3.

/^\d{3}-\d{4}$/

問16-4.

sample54.php

コード(TextWrangler)

<html>
  <head>
    <meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
    <title></title>
  </head>
  <body>
  <?php
    $zipcode = '';
    if($_POST['submit']){
      $pattern = '/^\d{3}-\d{4}$/';
      $zipcode = $_POST['zipcode'];
      $zipcode = htmlentities($zipcode);
      $matched = preg_match($pattern, $zipcode);
      if($matched){
        echo "$zipcode: 日本の郵便番号の形式に一致<br />";
      } else {
        echo "$zipcode: 日本の郵便番号の形式(×××-××××)に不一致<br />";
      }
    }
  ?>
  <form action="<?php echo(htmlentities($_SERVER['PHP_SELF'])); ?>" method="POST">
    <p>郵便番号: <input type="text" name="zipcode" value="<?php echo ($zipcode); ?>" /></p>
    <input type="submit" name="submit" value="送信"/>
  </form>
  </body>
</html>

併せて読んでいる書籍。

0 コメント:

コメントを投稿