過去ログ NO.1120684324
□ sato [2005年06月24日17時07分]CGI初心者です。 hyper_mailを使わせていただきたいのですが、自分で追加した項目(アンダーバーをname値の始めに付け加えて、MAIL内容に記録されるように作成しています)を必須項目にするにはどうしたらいいのでしょうか?
□ NXer [2005年06月28日10時25分] はじめまして。NXerです。
>必須項目にするには
追加フォームを一つとして、それだけを必須化できるか 当方のローカルサーバーで試してみました。 そちらでも同じ結果になるか、お試しいただければ うれしいです。 (スクリプトの説明は、暇な時適当に読んでください。)
----------------------------ただし、例はURLとします # ■ 追加フォームの設定(任意の入力フォームを追加できます) # ("フォームの表題;タイプ;フォームの名前;フォームサイズ;初期値")の形式で 好きなだけ設定 @sub_input = ( "HPアドレス;text;URL;50;", # この場合(HPアドレス <input type='text' name='URL' value=''> )となる ------------------------------------
□1-- 変更点最後のvalue値↓を省略-------- "HPアドレス;text;URL;50;", ---------------------------- 要点は、追加入力フォームが空白である、ということを未記入の判断材料 するために初期値として"http://"などの文字列を含まないようにします。 「;」の後に何も入れないで、すぐ「"」、「,」です。
□2--------------挿入は 262行目。未編集なので行番号はかなりずれます。 261 #■ 追加フォームの'URL'の値が未記入時警告表示 if (!$option{'URL'}){ $er = "$er■ 追加入力欄<br>";} if ($er) { &error("$er<br>が未記入です。"); } #既存スクリプト -------------------------------------------------
************************当方のメモ(読み飛ばしてください) 193 $option{$name} = $value; --------------------------- $optionとは追加の選択項目、連想配列を使います{ }でくくります。 そのキーは、初期設定部の'URL'です。値は、必須で入力すれば http://www.aaa.co.jpなどです。
入力を忘れると、値はなく、(!$option{'URL'}) カッコ内が真でない、が 成立して警告文を表示します。 ***************************
参考までに、詳細は、不明ですが、勝手に想像して書きます。 もし趣味が必須入力項目なら、フォーム表題を換えたりする上に 'URL'を'HOBBY'に換えます。警告文も「趣味欄」など適切な語句 表示になるようにファインチューニング(微調整)してください。 よい作品になりますように。
以上2点の変更点をお試しください。
*******************************参考画面例
HPアドレス・未記入例-------------------------- お名前 nxer メールアドレス nxer@ne.jp メールのタイトル 追加入力フォームの必須化 メッセージ これは、追加入力フォームを必須化 するテストです。HPアドレスを例と します。 HPアドレス
警告文-------------- エラー ■ 追加入力欄
が未記入です。 戻る -------------------送信例 お名前 nxer メールアドレス nxer@ne.jp メールのタイトル 追加入力フォーム 重要度 3 メッセージ形式 TEXT メッセージ 必須化はできます。 URL http://www.nxer.co.jp 以上の内容で 【管理人 <xxxxx@xxx.xx.xx>】 宛にメールを送信しました。 ---------------------------
|
|