php
前提
phpめちゃめちゃ初心者です。
よろしくお願いします。
いろいろ調べてみたのですが、解説がないものばかりでなかなかわからなかったので
コード一つ一つ解説していただけると幸いです。
phpを使って入力画面を作っている状況です。
###実現したいこと
全ての値が選択されていたら、sent.phpへ遷移したい。
一つでも未選択があった場合、同じページ(index.php)のまま、
「未選択です」と表示させたい。
そのとき選択済の値は引き継ぎたい。
発生している問題・わからないこと
1 選択済の場合と未選択の場合とで、遷移先(action=""の部分)を変える書き方がわからない。
2 未選択ですの文字が表示されない
3 選択済の値が引き継がれない
該当のコード
<?php ini_set('display_errors', 1); $h = $_POST['h']; $s = $_POST['m']; ?> <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>php</title> </head> <body> <!-- 値が両方選択されているときsent.phpに飛びたい。 一つでも未選択の場合どこにもとばず 「未選択です」を表示させたい。 このactionにif文でふたつのリンクを書いたけどうまく行かなかった。よくわからないため今は空にした--> <form action="" method="post"> <select name="h" id=""> <!-- 他項目が未選択だった場合この項目の入力は引き継ぎたい --> <option value="<?php echo $h;?>" >--</option> <!-- 0~24時間を表示 --> <?php for($i=0; $i<=24; $i++) { echo "<option value='{$i}時間'>{$i}時間</option>"; } ?> </select> <!-- ここでoptionが未選択のとき表示させたい。 --> <?php if(isset($_POST['h']) === ""):?> <p><?php echo "※未選択です!"; ?></p> <?php endif; ?> <!-- 上と同じ 値が違うだけ --> <select name="m" id=""> <!-- 他項目が未選択だった場合この項目の入力は引き継ぎたい --> <option value="<?php echo $m;?>">--</option> <!-- 0~59分を表示 --> <?php for($i=0; $i<=59; $i++) { echo "<option value='{$i}分'>{$i}分</option>"; } ?> </select> <!-- ここでoptionが未選択のとき表示させたい。 --> <?php if(isset($_POST['m']) ==="" ):?> <p><?php echo "※未選択です!"; ?></p> <?php endif; ?> <p> <input type="submit" value="送信"> </p> </form> </body> </html>
回答2件
あなたの回答
tips
プレビュー