同じフォームでデータを送信させたいと考えています。
サーバ環境変数の $_SERVER['PHP_SELF'] を使用すれば
出来そうなところまではたどり着いたのですが、具体的な
記載方法が分かりません。
やりたい事としましては、まず最初の画面で1行ずつ何かデータを
表示させて、チェックボックスで複数選択可能な状態にします。
書式方法が分からないところですが、チェックボックスで選択した
データのみを、input type='submit'を使って同じフォームでデータ
を送信させて、チェックボックスにて選択したデータのみを画面に
表示させたいと考えています。
どなたかお分かりになる方がいらっしゃいましたら、簡単な具体例
として記載方法を教えて頂けないでしょうか。
No.3ベストアンサー
- 回答日時:
>> 結果画面には、チェックボックスで選択したデータのみを表示させたいと考えています。
以下参照
<?php
print "<html><body>";
if (isset($_POST['cbox'])){
foreach($_POST['cbox'] as $val){
$val=htmlspecialchars($val);
print "チェック${val}が選択されました<br>\n";
}
} else {
print <<<_FORM_
<form action="" method="post">
<input type="checkbox" name="cbox[]" value="1">チェック1<br>
<input type="checkbox" name="cbox[]" value="2">チェック2<br>
<input type="checkbox" name="cbox[]" value="3">チェック3<br>
<input type="submit">
</form>
_FORM_;
}
print "</body></html>";
?>
No.2
- 回答日時:
>> 簡単な具体例として記載方法を教えて頂けないでしょうか。
例を示します
<?php
print <<<_FORM_
<html><body>
<form action="" method="post">
<input type="checkbox" name="cbox[]" value="1">チェック1<br>
<input type="checkbox" name="cbox[]" value="2">チェック2<br>
<input type="checkbox" name="cbox[]" value="3">チェック3<br>
<input type="submit">
</form>
_FORM_;
if (isset($_POST['cbox'])){
print "<hr>";
foreach($_POST['cbox'] as $val){
$val=htmlspecialchars($val);
print "チェック${val}が選択されました<br>\n";
}
}
print "</body></html>";
?>
>> サーバ環境変数の $_SERVER['PHP_SELF'] を使用すれば出来そうなところまではたどり着いたのですが・・・
$_SERVER['PHP_SELF'] をFormのactionに使うと脆弱性の問題があります。空欄にするか $_SERVER['SCRIPT_NAME']を使いましょう
上記サンプルでは、formの行を下記に変更してもOKです
<form action="${_SERVER['SCRIPT_NAME']}" method="post">
この回答への補足
返答有難う御座います。
教えて頂いた内容でほぼ希望は満たせているのですが、
結果画面には、チェックボックスで選択したデータのみを
表示させたいと考えています。
最初の画面で表示するチェックボックスの選択画面は
結果画面には表示させない方法をご存知でしたら教えて
頂けますでしょうか。
No.1
- 回答日時:
inputタグにname属性を入れればできますよ。
<input type="submit" name="check">に変更して、あとはPHPの仕事です。
そのプログラムの書き方はこんな感じです。
<?php
(中略)
if ($_POST['name']=="check") {
print $_POST['hoge']."<BR>";
(中略)
}
なお、同様の質問が過去に投稿されており、if ($_POST['name']=="check")のところは「if ($_POST['Submit'])」としても大丈夫なようです。
この回答への補足
返信有難う御座います。
申し訳御座いません。PHPの知識が乏しいため、
おっしゃって頂いている事は何となくは分かるのですが、
具体的にスクリプトに起こすことが出来ず、困っています。
大変申し訳御座いませんが、何か簡単なチェックボックスの
画面部分を加えたスクリプトを教えて頂けると助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- Excel(エクセル) エクセルで重複データを行ごとに抽出したい 4 2022/12/05 08:18
- Access(アクセス) Access2016でフォーム内にExcelの複数シートを 表示させるイメージで複数テーブルの デー 1 2022/11/25 15:30
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- Excel(エクセル) エクセルの散布図で新たに入力した値のデータラベルが空欄になる現象 1 2022/04/26 09:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHP ボタンが押されたら処理を...
-
チェックボックスを使った複数...
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
1つのphpファイルで、入力フォ...
-
複数行のデータ一括更新に関して
-
チェックボックスによる検索
-
【PHPチェック】ラジオボタンが...
-
phpで分からないエラーが出てし...
-
検索時の選択内容を保持する方法
-
PHPの関数実行
-
PHPでじゃんけん勝負
-
PHPのsubmitボタンが複数ある場合
-
DBの値をチェックボックスに反...
-
PHPで画像の渡しが上手く行きま...
-
検索後にチェックボックスのON/...
-
入力フォーム→確認画面→送信画...
-
チェックボックスの値に応じてP...
-
フォームでのリセットを使う方法
-
【HTML(PHP?)】複数のフォーム...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
HTMLで前の画面に戻る時、入力...
-
<input type="hidden" >で配列...
-
PHP ボタンが押されたら処理を...
-
検索時の選択内容を保持する方法
-
DBの値をチェックボックスに反...
-
ラジオボタンをsessionで使いたい
-
パラメーターを隠す
-
PHPで画像の渡しが上手く行きま...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
フォームでのリセットを使う方法
-
syntax error, unexpected '}' ...
-
PHPの関数実行
-
入力した部分を表示させたまま...
-
テキストボックスに初期値を入れる
-
phpで分からないエラーが出てし...
-
入力フォーム→確認画面→送信画...
-
画面が更新されてもチェックボ...
-
Javascript→PHPに...
-
配列をhiddenで
おすすめ情報