php初心者です。
以下はどのようにやればいいのでしょうか。
色々調べたのですが、考え方がわからず困っています。
(やりたい事)
(1)入力画面(index.php)にチェックボックス
(赤、青、黄、緑)つくる
(2)確認画面(confirm.php)にpostで飛ばす
(3)修正があれば、index.phpに戻るが、
チェックしたものが保持された状態で
戻る。
このような事をしたいのですが、以下で手が止まって
しまいました。
◆index.php
<?php
<form method="post" action="confirm.php">
<input type="checkbox" name="colors[]" value="赤">赤
<input type="checkbox" name="colors[]" value="青">青
<input type="checkbox" name="colors[]" value="黄">黄
<input type="checkbox" name="colors[]" value="緑">緑
<input type="submit" value="送る">
</form>
?>
◆confirm.php
<?php
<form method="post" action="index.php">
foreach ($_POST['colors'] as $color){
echo $color ." /";
}
<input type="submit" value="戻る">
</form>
?>
これをどう加工していけばよいか、よろしくお願いします。
No.1ベストアンサー
- 回答日時:
input要素(type="hidden")で実現するとしたら、こんな感じでしょうか
◆index.php
<?php
if (isset($_POST['colors'])) {
if (in_array('赤', $_POST['colors'])) { $aka = 1; }
if (in_array('青', $_POST['colors'])) { $ao = 1; }
if (in_array('黄', $_POST['colors'])) { $ki = 1; }
if (in_array('緑', $_POST['colors'])) { $midori = 1; }
}
?>
<form method="post" action="confirm.php">
<input type="checkbox" name="colors[]" value="赤"<?print isset($aka) ? ' checked="checked"' : ''; ?>>赤
<input type="checkbox" name="colors[]" value="青"<?print isset($ao) ? ' checked="checked"' : ''; ?>>青
<input type="checkbox" name="colors[]" value="黄"<?print isset($ki) ? ' checked="checked"' : ''; ?>>黄
<input type="checkbox" name="colors[]" value="緑"<?print isset($midori) ? ' checked="checked"' : ''; ?>>緑
<input type="submit" value="送る">
</form>
◆confirm.php
<?php
foreach ($_POST['colors'] as $color){
echo $color ." /";
}
?>
<form method="post" action="index.php">
<?php
foreach ($_POST['colors'] as $color){
print '<input type="hidden" name="colors[]" value="' . $color . '">';
}
?>
<input type="submit" value="戻る">
</form>
たぶん、これが「基本的な手法」になるかと。
他にも配列(colors[])のまま使わずに、implodeして引き渡し→explodeして利用とかserializeして引き渡し→unserializeして利用という手もありますし、POSTではなく「セッション変数に入れる」などの方法もあります。
shimixさん
質問の答え以外にも、ご親切な助言までいただきありがとうございました。
ず~~と調べ続けていましたが、答えにうまくたどり着かなかったために
本当に助かりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- PHP php ログイン 1 2022/11/01 00:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでユーザー情報を入力して簡...
-
<input type="hidden" >で配列...
-
PHPでCookieを使った訪問回数に...
-
($_POST['email']??"", ・・・...
-
PHPの関数実行
-
【HTML(PHP?)】複数のフォーム...
-
検索時の選択内容を保持する方法
-
PHP ボタンが押されたら処理を...
-
phpでの複数選択チェックボック...
-
入力した部分を表示させたまま...
-
【PHPチェック】ラジオボタンが...
-
HTMLで前の画面に戻る時、入力...
-
適性診断テストみたいなものを...
-
パラメーターを隠す
-
phpでのボタン押下の活性・非活...
-
PHPを勉強中の専門学生です。 ...
-
syntax error, unexpected '}' ...
-
チェックボックスを使った複数...
-
Javascript→PHPに...
-
フォームへの前回入力値をクリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
HTMLで前の画面に戻る時、入力...
-
PHPでユーザー情報を入力して簡...
-
PHP ボタンが押されたら処理を...
-
PHPとHTML+Xamppの掲示板で画像...
-
syntax error, unexpected '}' ...
-
検索時の選択内容を保持する方法
-
PHPでCookieを使った訪問回数に...
-
チェックボックスによる検索
-
PHPで画像の渡しが上手く行きま...
-
フォームでのリセットを使う方法
-
チェックボックスによる検索(...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
php mysql でチェックボックス...
-
PHPの関数実行
-
PHPで、ボタンを押すと同じペー...
-
phpで分からないエラーが出てし...
-
ラジオボタンをsessionで使いたい
-
入力フォーム→確認画面→送信画...
おすすめ情報