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

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

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

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

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

HTML

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

Q&A

解決済

1回答

382閲覧

URLパラメータとページ内リンクを同時に渡す場合のURL記述方法

emi_ono

総合スコア83

PHP

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

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

HTML

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

0グッド

0クリップ

投稿2022/09/28 06:08

前提

URLパラメータを使う際に、アンカーも一緒に渡したいのですがうまくいきません。
よろしくお願いします。

実現したいこと

  • パラメータの値を取得し同じページの指定位置まで移動したい

発生している問題・エラーメッセージ

URLが下記のようになり、パラメータが取得できません。

https://●/●/●/sample_1_v3_6.php#rate-plan

アンカータグを設置しない場合

https://●/●/●/sample_1_v3_6.php?dispcode=0&dispname=指名なし または https://●/●/●//sample_1_v3_6.php?dispcode=37&dispname=テスト1

のように表示されます

該当のソースコード

PHP

1<?php 2//パラメータの受け取り 3$code = 0; //初期値は「0」とする 4$dispname = '指名なし'; //初期値 5if ( isset( $_GET['dispcode'] ) == true ) { 6 $code = $_GET['dispcode']; 7 $dispname = $_GET['dispname']; 8} 9$shop_file = "sample_1_v3_6.php"; 10?> 11 12<section class="area staff cf"> 13<div class="contentWrap"> 14<!--指定なし--> 15<div class="staffitem"> 16<div class="photo"> 17<img src="../../img/staff/staff0.jpg"> 18</div> 19<?php 20if($code == 0){ 21echo '<p class="choice">選択中</p>'; 22} 23?> 24<p><a href="<?php echo $shop_file; ?>?dispcode=0&dispname=指名なし#rate-plan">選択</a></p> 25</div> 26<!--スタッフあり--> 27<div class="staffitem"> 28<?php foreach($files as $file):?> 29<div class="photo"> 30<img src="<?php echo "{$file['file_path']}"?>" alt=""> 31</div> 32<p><?php echo $file['staff_name']?></p> 33<?php 34if($code == $file['image_id']){ 35echo '<p class="choice">選択中</p>'; 36} 37?> 38<p><a href="<?php echo $shop_file; ?>?dispcode=<?php echo $file['image_id']?>&dispname=<?php echo $file['staff_name']?>#rate-plan">選択</a></p> 39<?php endforeach;?> 40</div> 41</div> 42</section> 43 44<section class="area rate-plan cf" id="rate-plan"> 45</section>

PHP

1<p><a href="<?php echo $shop_file; ?>?dispcode=0&dispname=指名なし#rate-plan">選択</a></p>

または

PHP

1<p><a href="<?php echo $shop_file; ?>?dispcode=<?php echo $file['image_id']?>&dispname=<?php echo $file['staff_name']?>#rate-plan">選択</a></p>

<a>タグを選択すると、
dispcodedispnameの値をパラメータで取得し同じページの
id="rate-plan"のところへ移動したいのですが、移動はするのですがパラメータが取得できません。

試したこと

リンクの#rate-plan部分を記入しない場合、パラメータは取得できました。

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

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

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

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

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

otn

2022/09/28 06:50

> パラメータが取得できません。 と判断した根拠を客観的に示してください。
emi_ono

2022/09/28 07:12

ありがとうございます。 URLパラメータとアンカーを設置したリンクをクリックすると、 URLが「https://●/●/●/sample_1_v3_6.php#rate-plan」 のように変化します。 このURLを見てパラメータが取得できていないと思いました。 また受け取ったパラメータの値によってSQL文の内容が変化するのですが、ここも変わらないのでパラメータが取得できていないと判断しました。 どうぞよろしくお願いします。
otn

2022/09/28 08:28

> のように変化します。 「アドレスバーの内容が」という意味ですか?
emi_ono

2022/09/28 08:33

説明が悪くてすみません。 アドレスバーの内容です。
otn

2022/09/28 09:03 編集

クリック前に開発者ツールなどで、リンクが期待通りかは確認していますよね? であれば、リダイレクトが発生しているのでしょうね。
emi_ono

2022/09/28 13:09

ありがとうございます。 関係ないと思っていたJavaScriptコードが邪魔をしていました。
guest

回答1

0

自己解決

ページ内のリンクの移動をゆっくりにする
var scroll = new SmoothScroll('a[href*="#"]', {
speed: 300,//スクロールする速さ
header: '#header'//固定ヘッダーがある場合
});
が邪魔をしていました。

投稿2022/09/28 13:10

emi_ono

総合スコア83

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問