質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1001閲覧

任意のデータを別ページへ送る方法 PHP

退会済みユーザー

退会済みユーザー

総合スコア0

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2020/07/22 07:02

編集2020/07/22 08:08

宿泊の予約サイトを練習で作成しています。

プラン選び → 予約フォーム → 予約入力確認 → 完了
の順でphpファイルを作成しております。

 ここでプラン選びのページで
「なんのプラン」と「予約日」を完了画面にデータを送りたいのですがどうしてもできなく、どこが間違えてるや何が足りないなどアドバイスをいただきたいです。

プラン選び

php

1<?php 2//セッション開始 3session_start(); 4//$plan_listの中身が後々DBからselectした値に置き換わるイメージ 5$plan_list = array(); 6$arr1 = array("plan_id" => "1", "plan_name" => "素泊まりプラン", "type_name" => "食事なし", "detail" => "素泊まりプランの説明です。", "url" => "../img_odai/img-1.png"); 7$arr2 = array("plan_id" => "2", "plan_name" => "イセエビプラン", "type_name" => "夕のみ", "detail" => "夕食ありプランの説明です。", "url" => "../img_odai/img-1.png"); 8$plan_list[] = $arr1; 9$plan_list[] = $arr2; 10 11$url1 = $plan_list[0]["url"]; 12$url2 = $plan_list[1]["url"]; 13$a = $plan_list[0]["plan_id"]; 14$b = $plan_list[1]["plan_id"]; 15 16?> 17 18<!DOCTYPE HTML> 19<html lang="ja"> 20 <head> 21 <meta charset="UTF-8"> 22 <title>浦島観光ホテル</title> 23 <!-- 全画面共通のcssファイル読み込み --> 24 <link rel="stylesheet" type="text/css" href="../css_odai/common.css"> 25 <!-- メニュー詳細用のcssファイル読み込み --> 26 <link rel="stylesheet" type="text/css" href="../css_odai/chart.css"> 27 </head> 28 <body> 29 <div> 30 <!-- 任意のページに画面遷移するやり方で一番オーソドックスな方法 --> 31 <a href="./complete.php">????浦島観光ホテル</a> 32 </div> 33 <form action="./chart.php" method="post"> 34 <div class="box2"> 35 <h1>宿泊プラン検索</h1> 36 <p>宿泊予定日を選択してください</p> 37 <input type="date" name="hiniti" style="width: 200px; height: 30px;"> 38 <input type="button" value="検索" style="height:35px;"> 39 </div> 40 </form> 41 <p>宿泊可能なプランがある場合はこちらに表示されます</p> 42 <form action="./complete.php" method="post"> 43 <div class="box2"> 44 <div style="float:right;"> 45 <?php print "<img src=$url1 width='180' height='180' > "?> 46 </div> 47 <div> 48 <?php print $plan_list[0]["plan_name"]; ; ?> 49 <p>宿泊タイプ</p> 50 <span class="mrg"><?php print $plan_list[0]["type_name"]; ?></span> 51 <p>チェックイン15:00~チェックアウト~10:00</p> 52 <p><?php print $plan_list[0]["detail"]; ?></p> 53 <input type="hidden" name="plan_id" value="<?php print $a; ?>"> 54 <input class="yoyaku" type="submit" value="予約する"> 55 </div> 56 </div> 57 </form> 58 <form action="./complete.php" method="post" name="y"> 59 <div class="box2"> 60 <div style="float:right;"> 61 <?php print "<img src=$url2 width='180' height='180' > "?> 62 </div> 63 <div> 64 <?php print $plan_list[1]["plan_name"]; ?> 65 <p>宿泊タイプ</p> 66 <span class="mrg"><?php print $plan_list[1]["type_name"]; ?></span> 67 <p>チェックイン15:00~チェックアウト~10:00</p> 68 <p><?php print $plan_list[1]["detail"]; ?></p> 69 <input type="hidden" name="plan_id" value="<?php print $b; ?>"> 70 <input class="yoyaku" type="submit" value="予約する"> 71 </div> 72 </div> 73 </form> 74 <p>指定された日程での宿泊可能なプランはありません</p> 75 </body> 76</html>

予約フォーム

php

1<?php 2//セッション開始 3session_start(); 4$plan = array( 5 "plan_id" => "1", 6 "plan_name" => "素泊まりプラン", 7 "detail" => "素泊まりプランの説明です。", 8 "price" => "6000"); 9 10/*print_r($plan); 11var_dump($plan);*/ 12var_dump($_POST); 13?> 14 15<!DOCTYPE html> 16<html lang="ja"> 17 <head> 18 <meta charset="UTF8"> 19 <title>宿泊予約</title> 20 <!-- 全画面共通のcssファイル読み込み --> 21 <link rel="stylesheet" type="text/css" href="../css_odai/common.css"> 22 <!-- メニュー詳細用のcssファイル読み込み --> 23 <link rel="stylesheet" type="text/css" href="../css_odai/complete.css"> 24 <script type="text/javascript"> 25 function keisan(){ //関数宣言 26 var hoge = document.getElementById('a_1').value; //テキストエリアの値を取得 27 var a = <?php print $plan["price"] ; ?>; 28 var price1 = hoge * a; //金額を人数にかける 29 document.getElementById('total').value = price1; 30 } 31 </script> 32 </head> 33 <body> 34 <div> 35 <!-- 任意のページに画面遷移するやり方で一番オーソドックスな方法 --> 36 <a href="./chart.php">????浦島観光ホテル</a> 37 </div> 38 <h1>宿泊予約</h1> 39 <p class="text"><?php print $plan["plan_name"];?></p> 40 <?php print $plan["detail"]; ?> 41 42 <p>予約フォーム</p> 43 <form action="./confirmation.php" method="post"> 44 <div class="form-row"> 45 <div class="tab1"> 46 <label for="name">氏名*<br> 47 <!-- required="required"またはrequiredをつけると必須入力項目指定になって入力していないとエラーを返すようだ --> 48 <input type="text" name="name" style="width: 300px; height: 30px;" placeholder="予約 太郎" required value="<?php if(isset($_SESSION['name'])){print $_SESSION['name'];} ?>"> 49 </label> 50 </div> 51 <div class="tab2"> 52 <label for="syukuhaku">宿泊人数*<br> 53 <input type="number" id="a_1" name="a_1" style="width: 120px; height: 30px;" min="0" placeholder="人数" onChange="keisan()" required value="<?php if(isset($_SESSION['a_1'])){print $_SESSION['a_1'];} ?>"> 54 </label> 55 </div> 56 <div> 57 合計金額<br><span> 58 <input type="text" id="total" name="total" style="width: 100px; height: 30px;" placeholder="0" readonly value="<?php if(isset($_SESSION['total'])){print $_SESSION['total'];} ?>"> 59 </span> 60 </div> 61 </div> 62 <div class="form-row"> 63 <div class="tab3"> 64 <label for="email">メールアドレス*<br> 65 <input type="email" id="email" name="email" style="width: 300px; height: 30px;" placeholder="teberst@mailbox.com" required value="<?php if(isset($_SESSION['email'])){print $_SESSION['email'];} ?>"> 66 </label> 67 </div> 68 <div> 69 <label for="tel">電話番号*<br> 70 <input type="tel" id="phone" name="phone" pattern="[\d]*" maxlength="11" style="width: 250px; height: 30px;" placeholder="090XXXXXXXX" required value="<?php if(isset($_SESSION['phone'])){print $_SESSION['phone'];} ?>"> 71 </label> 72 </div> 73 </div> 74 <div class="spase"> 75 <label for="time">到着予定時刻<br> 76 <input type="time" id="yotei" name="yotei" style="width: 200px; height: 30px;" value="<?php if(isset($_SESSION['yotei'])){print $_SESSION['yotei'];} ?>"> 77 </label> 78 <div class="spase"> 79 <label for="message">備考<br> 80 <!--テキストエリアはvalue使えない。--> 81 <textarea id="mess" name="mess" placeholder="チェックアウトの時間を遅らせたい" ><?php if(isset($_SESSION['mess'])){print $_SESSION['mess'];} ?></textarea> 82 </label> 83 </div> 84 </div> 85 <input class="submit1" type="submit" value="確認"> 86 <input class="button2" type="button" onclick="location.href='./chart.php'" value="戻る"> 87 </form> 88 </body> 89</html>

完了

php

1<?php 2 session_start(); 3?> 4 5<!DOCTYPE html> 6<html lang="ja"> 7 <head> 8 <meta charset="UTF-8"> 9 <title>浦島観光ホテル</title> 10 <!-- 全画面共通のcssファイル読み込み --> 11 <link rel="stylesheet" type="text/css" href="../css_odai/common.css"> 12 </head> 13 <body> 14 <div> 15 <!-- 任意のページに画面遷移するやり方で一番オーソドックスな方法 --> 16 <a href="./chart.php">????浦島観光ホテル</a> 17 </div> 18 <h1>予約完了</h1> 19 <p>予約が完了しました。</p> 20 <a href="./chart.php">予約一覧に戻る</a> 21 </body> 22</html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ockeghem

2020/07/22 07:31

プラン選び → 予約フォーム → 予約入力確認 → 完了 という遷移なのに、プラン選び と 完了 のソースしか提示されてないので、途中のページのソースコードも提示してください。
退会済みユーザー

退会済みユーザー

2020/07/22 07:49

質問ありがとうございます! 文字数オーバーのようで予約フォームを追加したのですが、予約入力確認 のコードが追加できなかったです。。
退会済みユーザー

退会済みユーザー

2020/07/22 08:51 編集

予約完了画面 ---------- <?php session_start(); //セッション開始の宣言をする if (isset($_POST['name'])) { $_SESSION['name'] = $_POST['name'];//入力された値をセッションに代入する $name = ($_SESSION['name']); }if (isset($_POST['a_1'])) { $_SESSION['a_1'] = $_POST['a_1']; $a_1 = $_SESSION['a_1']; }if (isset($_POST['total'])) { $_SESSION['total'] = $_POST['total']; $total = $_SESSION['total']; }if (isset($_POST['email'])) { $_SESSION['email'] = $_POST['email']; $email = $_SESSION['email']; }if (isset($_POST['phone'])) { $_SESSION['phone'] = $_POST['phone']; $phone = $_SESSION['phone']; }if (isset($_POST['yotei'])) { $_SESSION['yotei'] = $_POST['yotei']; $yotei = $_SESSION['yotei']; }if (isset($_POST['mess'])) { $_SESSION['mess'] = $_POST['mess']; $mess = $_SESSION['mess']; } if(empty($name)){ $name = '';} if(empty($a_1)){ $a_1 = '' ;} if(empty($total)){ $total = '';} if(empty($email)){ $email = '';} if(empty($phone)){ $phone = '';} if(empty($yotei)){ $yotei = '';} if(empty($mess)){ $mess = '';} } ?> <!DOCTYPE HTML> <html lang="ja"> <head> <meta charset="UTF-8"> <title>予約確認</title> <!-- 全画面共通のcssファイル読み込み --> <link rel="stylesheet" type="text/css" href="../css_odai/common.css"> <!-- メニュー詳細用のcssファイル読み込み --> <link rel="stylesheet" type="text/css" href="../css_odai/confirmation.css"> </head> <body> <div> <!-- 任意のページに画面遷移するやり方で一番オーソドックスな方法 --> <a href="./chart.php">????浦島観光ホテル</a> </div> <h1>予約確認</h1> <h2>素泊まりプラン</h2> <p>プランの説明ですプランの説明ですプランの説明です素泊まりプランの説明です</p> <P>入力内容を確認し確定ボタンを押してください。</P> 誤りがある場合は、戻るボタンで前画面に戻り入力し直してください <form action="./reservation.php" method="post"> <div class="form-row"> <div class="tab1"> <legend>氏名</legend> <p><?php print $name; ?></p> </div> <div class="tab2"> <label for="syukuhaku">宿泊人数*</label> <p><?php print $a_1;?></p> </div> <div> <label for="number">合計金額</label> <p><?php print $total; ?></p> </div> </div> <div class="form-row"> <div class="tab3"> <label for="email">メールアドレス*</label> <p><?php print $email;?></p> </div> <div> <label for="tel">電話番号*</label> <p><?php print $phone; ?></p> </div> </div> <div class="spase"> <label for="number">到着予定時刻</label> <p><?php print $yotei; ?></p> </div> <div class="spase"> <label for="message">備考</label> <p><?php print $mess; ?></p> </div> <input class="submit" type="submit" name= "btn" value="確認"> <input class="button1" type="button" onclick="location.href='./complete.php'" value="戻る"> </form> </body> </html>
guest

回答1

0

ベストアンサー

sessionに格納する方法で一様実施できました。

投稿2020/07/27 05:20

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問