ドロップダウンリストで選択された値が $menu に入りそれを php を使用して(必須)
入力チェックを行い、NGならば警告メッセージを表示・・・
という事をしたく、preg_match 等を使って色々試行錯誤してるのですが
入力チェックの部分で上手くいきません。
なぜこのような事をしようとするのか・・・?
の理由は下記のサイト
【 ホームペーシの改ざんを阻止するには? 】
http://www.starthp.com/kaizan.htm
を見たもので・・・
ドロップダウンリストのソースは下記のようになっております。
php でのチェック方法についてどなたがご教示お願い致します。
<?php
/*
******************************************************************
確認時エラー等でフォーム画面に戻った時に入力した情報が消えない設定
ドロップダウンリスト用
******************************************************************
*/
function MenuValue($v,$r)
{
if(!empty($_POST[$v]))
{
if($_POST[$v] == $r){
return " selected='selected'";
}
}
}
echo 'お問い合わせ内容のカテゴリ<br>'."\n";
echo '<select name="menu" id="menu">'."\n";
echo '<option value="未選択"'.MenuValue("menu","未選択").'>▼選択して下さい</option><br>'."\n";
echo '<option value="東京"'.MenuValue("menu","東京").'>東京 - Tokyo</option><br>'."\n";
echo '<option value="千葉"'.MenuValue("menu","千葉").'>東京 - Chiba</option><br>'."\n";
echo '<option value="埼玉"'.MenuValue("menu","埼玉").'>埼玉 - Saitama</option><br>'."\n";
echo '<option value="群馬"'.MenuValue("menu","群馬").'>群馬 - Gunma</option><br>'."\n";
echo '<option value="海外"'.MenuValue("menu","海外").'>海外 - Kaigai</option><br>'."\n";
echo '</select>'."\n";
?>
No.1ベストアンサー
- 回答日時:
別に想定したデータのチェック自体はする必要はないですが、
どうしてもというならこんな感じでホワイトリストをつくり
マッチしない場合エラーにすればよいのでは?
<?php
$errmsg="";
$whitelist["menu"]=Array("未選択","東京","千葉","埼玉","群馬","海外");
if(isset($_REQUEST["menu"])){
if(!in_array($_REQUEST["menu"],$whitelist["menu"])) $errmsg="NG!!";
$selected["menu"][$_REQUEST["menu"]]=" selected='selected'";
}
if($errmsg) print $errmsg;
else
echo <<<eof
<form>
<p>
お問い合わせ内容のカテゴリ<br>
<select name="menu" id="menu">
<option value="未選択"{$selected["menu"]["未選択"]}>▼選択して下さい</option>
<option value="東京"{$selected["menu"]["東京"]}>東京 - Tokyo</option>
<option value="千葉"{$selected["menu"]["千葉"]}>東京 - Chiba</option>
<option value="埼玉"{$selected["menu"]["埼玉"]}>埼玉 - Saitama</option>
<option value="群馬"{$selected["menu"]["群馬"]}>群馬 - Gunma</option>
<option value="海外"{$selected["menu"]["海外"]}>海外 - Kaigai</option>
</select><br>
<input type="submit" value="go">
</p>
</form>
eof;
?>
有難うございました。
おかげで何とか解決できました。
for文で何とかしようとあれこれ試行錯誤して
何とかなったのですが、こちらの方がスッキリしてるので
使わせて頂きました。
また何かありましたら宜しくお願い致します。
No.2
- 回答日時:
デバッグしてみました?
MenuValue関数に渡された値を画面出力でもしてみれば、答えは出そうですが。
function MenuValue($v,$r)
{
echo 'r => '. $r .'<br>';
echo 'post[menu] => '. $_POST['menu'] .'<br>';
・ $vは固定なので引数にする必要もなさそう。
・ 一致しなかった時のreturn値を定義しないのがちょっと気持ち悪い。
のは気にはなりますが、普通に動きそうにみえます。
でも動かないのは・・・
・文字コードが一致してない
・POST先が違ってる
・menuって名前が重複してる
とか、そんな感じでしょうか?
ご回答頂き有難う御座います。
取り敢えずこのソースで問題なく動作してるのですが・・・
アドバイス頂いた箇所、再度見直してみますネ!?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウンとCSVの連動
-
php セレクトボックス 値取得
-
<select>文、foreachと初期値設定
-
2つのプルダウンメニュから受け...
-
複数 selectフォームから今回on...
-
input type="hidden"で送る値を...
-
mysql データ登録
-
頭文字→大学→学部を選択する入...
-
MySQLのレコードを検索、...
-
submitして確認画面へ
-
複数のセレクトボックスを1つに...
-
複数のセレクトボックスで
-
連動させたいセレクトボックス...
-
phpで重複チェック
-
フォームでのリセットを使う方法
-
PHP ボタンが押されたら処理を...
-
フォーム送信後の更新ボタンで...
-
ラジオボタンをsessionで使いたい
-
HTMLで前の画面に戻る時、入力...
-
検索時の選択内容を保持する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウンとCSVの連動
-
「"」(ダブルクォーテーション)...
-
ラジオボタンの値を受け取ってP...
-
<select>文、foreachと初期値設定
-
phpでのセレクトボックスの値を...
-
php セレクトボックス 値取得
-
複数のセレクトボックスを1つに...
-
複数 selectフォームから今回on...
-
2つのプルダウンメニュから受け...
-
phpでのselect値の取得・表記に...
-
foreachで次の行の値を取得して...
-
ウェブ上で選択した複数行の内...
-
CodeIgniter/set_value()
-
ループ処理
-
連動させたいセレクトボックス...
-
現在時刻を反映させた時刻のプ...
-
プルダウンリスト(コンボボッ...
-
PHP で画面の一部だけを変えたい。
-
phpでカレンダー作成
-
プルダウンで選択された値を保持
おすすめ情報