[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{
> // フォームなどで送信されていない
> }
>
> でも、そのうちに、郵便番号と住所をつきあわせたいだとか、ふりがなは、カタカナ
> だけでないとイヤだとか (ひらがなだったら名寄せのためにカタカナに変換したいと
> か)、当然そういうニーズがでてきますから、汎用的なものはよほどしっかり考えて
> 作らないと使えないし、逆に抽象化しすぎると複雑怪奇になって、素直にごりごりと
> べたべたのスクリプトを書いた方が処理も速くて、工期も短くて、バグもない、なん
> て事がよくありそうです。