[PHP-users 1822] Re: 様々な入力でもOK

Seiju Taniguchi php-users@php.gr.jp
Wed, 5 Sep 2001 17:26:09 +0900


皆様お返事どうもありがとうございます。
実は投稿内容の確認フォームでワンクッションおいて、PHP_SELF で確認済みの
 内容(各種パラメータはこの時点で保持) 実行させたいのですが、苦労しています。
前回教えていただいた foreach 等からマニュアルをみていろいろやってますが、
 どれも有効ではありません

フロー: HTMLから投稿 → PHPファイル上で一時保留 → 同ファイルで様々な処理


HTMLから、$val[....] にて飛んできた内容を一度アレイに保持しておく良い方法
 はありますか。

foreach ($HTTP_POST_VARS as $key1 => $val1) {
      if (ereg('rray', $val1)) {
         echo "<P> found array!";         ← 飛んできたHTTP_POSTが配列だったら。

         $uuu = array ("$key1 => $val1");    ← uuu というアレイに格納(このままだと
                                                                    毎回上書きされてしまう)
      }
}


<form name=PHP_SELF ....> でHTMLからの同じ内容が取り出せる。












> 名前: <input type="text" name="ans[name]" size="30">
> 年齢: <input type="text" name="ans[age]" size="10">
> 
> のようにすれば、受け取った側の php で
> 
> if(!empty($ans)){
>     foreach($ans as $key => $val){
>         // 処理
>         if(empty($val)){
>             // 空です ... ただし、0 は empty() が true を返すので注意
>         }
>     }
> }else{
>     // フォームなどで送信されていない
> }
> 
> でも、そのうちに、郵便番号と住所をつきあわせたいだとか、ふりがなは、カタカナ
> だけでないとイヤだとか (ひらがなだったら名寄せのためにカタカナに変換したいと
> か)、当然そういうニーズがでてきますから、汎用的なものはよほどしっかり考えて
> 作らないと使えないし、逆に抽象化しすぎると複雑怪奇になって、素直にごりごりと
> べたべたのスクリプトを書いた方が処理も速くて、工期も短くて、バグもない、なん
> て事がよくありそうです。