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

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

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

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

Q&A

解決済

1回答

370閲覧

phpでフォームにGETで指定した外部URLにパラメーターを付与したい

eric_1225

総合スコア3

PHP

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

0グッド

0クリップ

投稿2021/06/29 05:34

いつもお世話になっております。
javascript、phpともに初心者です。

3日間ほど色々と試してみたのですが答えにたどり着かず、はじめて質問させていただきます。
また、そもそもが実現可能なのかも含めてのご質問になります。

前提・実現したいこと

今回、phpでフォームをつくっているのですが、
選択したフォームの値を外部リンクのURLにパラメーターを付与してリンク先に飛ばしたいと考えています。

発生している問題

URLにパラメーターをつけて外部リンクに飛ばすことができない

該当のソースコード

<?php $nowYear = date("Y"); $oneYear = date("Y", strtotime("1 year")); $twoYear = date("Y", strtotime("2 year")); ?> <form method="get" action="https://外部URL.jp/ディレクトリ/xxxx.php?htl_id=xxx"> <select> <option name="year" value="<?php echo $nowYear; ?>"><?php echo $nowYear; ?> <option name="year" value="<?php echo $oneYear; ?>"><?php echo $oneYear; ?> <option name="year" value="<?php echo $twoYear; ?>"><?php echo $twoYear; ?> </select> 年 <br /> <select> <?php for($reservationMonth = 1; $reservationMonth < 13; $reservationMonth++){ echo "<option name='month' value='$reservationMonth'> $reservationMonth"; } ?> </select> 月 <br /> <select> <?php for($reservationDay = 1; $reservationDay < 32; $reservationDay++){ echo "<option name='days' value='$reservationDay'> $reservationDay"; } ?> </select> 日 <br /> 宿泊日数 <select> <?php for($reservationLodging = 1; $reservationLodging < 8; $reservationLodging++){ echo "<option name='select_stay' value='$reservationLodging'> $reservationLodging"; } ?> </select> 泊 <br /> ご利用人数 大人 <select> <?php for($reservationPeople = 1; $reservationPeople < 4; $reservationPeople++){ echo "<option name='select_person' value='$reservationPeople'> $reservationPeople"; } ?> </select> 名様 <br /> <input type="submit" value="送信"/> </form>

試したこと

当初は普通にaタグで飛ばせると思っておりましたが、それでは値を付与することができず、
調べたところフォームにgetを使うことで出来るという記事を確認しました。

そこでactionに対象のURLを挿入してみたのですが、パラメーターが付かないといった状況です。

理想

https://外部URL.jp/ディレクトリ/xxxx.php?htl_id=xxx&year=xxx&month=xx&days=xx&mode=refine

何卒よろしくお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

name属性はoption要素ではなくselect要素に付けます。
それとhtl_idはそれでは無視されますので、formの中に<input name="htl_id" value="xxx" type="hidden">と記述します。

投稿2021/06/29 05:50

itagagaki

総合スコア8402

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

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

eric_1225

2021/06/29 06:11

さっそくのご回答ありがとうございました。 name属性はselectに付けるのですね…完全に勘違いしておりました。 また、actionの無視される部分もあるとのことで、ご丁寧にありがとうございました。 今しがたテストしたところ、無事にリンクを飛ばすことができました。 初心者で不安なことが多く質問を躊躇っていましたが更に知識をつけることができました。 本当にありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問