PHP実習-フォーム編

  • 簡単なフォームとの連携の方法
    htmlで書かれたフォームによって,ページに入力した文字をphpプログラムに渡す
    この例では,キーワードとイメージファイル名の対応が書かれたリストを テキストファイル("list")として用意し,フォームから入力されたキーワードに 一致したイメージを表示する
    1. formtest.html というhtmlファイルをダウンロードする
    2. list というファイルに 「キーワード:イメージファイル名」というペアを 各行ごとに記述するこれがサンプル
    3. list は必ずEUCに変換して転送すること
    4. form.php という PHPファイルをダウンロードする
    5. 適当に書き直したら,自分のページにアップロードしてテストする

      フォームを送る側のformtest.html

      <body>
      キーワードを入力します
      <form action="form.php" method="POST">
      <input type="text" name="keyword" size="30">
      <input type="submit" value="送信">
      </form>
      </body>
      

      受け取った文字列を処理するform.PHP

      <?php
      	// listファイルの読み込み部分
      	if (file_exists('list')){
      		$file = @fopen('list', 'r');
      		while(!feof($file)){
      			// 一行読み込んで
      			$line = fgets($file);
      			// コロン':' で文字列を分割
      			$pair = explode(':', $line);
      			// イメージファイル名を添字にして連想配列に格納
      			// $imglist[KDM003.jpg] = 公園
      			$imglist[$pair[1]] = $pair[0];
      		}
      	}
      	fclose($file);
      	
      	// フォームからのデータの受け取り
      	$key = $_POST['keyword'];
      	// 受け取った文字列とlist内のキーワードを比較
      	while(list($img, $word) = each($imglist)){
      		// 一致するキーワードがあったら
      		if(mbereg($key, $word)){
      			// <img src= タグを出力
      	 		print ("<img src=\"image/$img\"><br>");
      		}
      	}
      ?>
      


      Top

      4/26/2006 hrr@iamas.ac.jp