※ ChatGPTを利用し、要約された質問です(原文:PHPのフォームでエラーが出ます)
PHPフォームでエラーが発生する
どなたかお力添えをお願いします。
【全体の流れ】
step1.php ラジオボタンで、商品を3種類選択する
template.php 選択した商品名を表示し、金額を計算して表示する
step2.php 「template.php」を表示し、規約に同意する
step3.php 個人情報入力画面へ
・
・
・
という流れでフォームを作っていますが、step1.phpでつまずいています(涙)。
step1.phpのコード(html部分は省略してます)は以下のとおりです。
商品を3つ選んだ場合は、問題なく実行できるのですが、1つ、または2つ選択
した場合、画面上部に
Notice: Undefined index: plan in C:\xampp\htdocs\step1_1.php on line 10
Notice: Undefined index: uq in C:\xampp\htdocs\step1_1.php on line 11
などとエラーメッセージが出ます。
ほかは正常に動いています。このメッセージを出なくさせる方法をぜひ、教えてください!
よろしくお願いいたします。
<?php
session_start();
$error = "";
if(isset($_POST["submit"])==TRUE){
$_SESSION["product1"]=$_POST["product1"];
$_SESSION["product2"]=$_POST["product2"];
$_SESSION["product3"]=$_POST["product3"];
$choice1 = $_SESSION["product1"];
$choice2 = $_SESSION["product2"];
$choice3= $_SESSION["product3"];
//未入力チェック
if($choice1== null){
$error .="端末を選択してください<br />";
}
if($choice2== null){
$error .="プランを選択してください<br />";
}
if($choice3== null){
$error .="UQ Wi-Fiサービスの利用有無を選択してください<br />";
}
if($error == null){
$url = "step2.php";
header("Location: ".$url);
exit();
}
}
?>
お礼
bm hiro様 回答、ありがとうございましたっ!! 書いていただいたコードを参考に・・・ セッションを使いたかったので、 セッション変数にPOSTの値を代入して、 それをまた変数に代入して、、、と2段階にしたら できました! 大変助かりました。ありがとうございましたっ!!! ちなみに、こんな感じのコードになりました(^^)↓ $_SESSION["product1"] = ""; if(isset($_POST["product1"])) $_SESSION["product1"] = $_POST["product1"]; $_SESSION["product2"] = ""; if(isset($_POST["product2"])) $_SESSION["product2"] = $_POST["product2"]; $_SESSION["product3"] = ""; if(isset($_POST["product3"])) $_SESSION["product3"] = $_POST["product3"]; if(isset($_POST["submit"])==TRUE){ $select1= $_SESSION["product1"]; $select2= $_SESSION["product2"]; $select3 = $_SESSION["product3"]; //未入力チェック if($select1 == null){ $error .="端末を選択してください<br />"; } if($select2 == null){ $error .="プランを選択してください<br />"; } if($select3 == null){ $error .="UQ Wi-Fiサービスの利用有無を選択してください<br />"; } if($error == null){ $url = "step2.php"; header("Location: ".$url); exit(); } } ?>