今、PHPでデータベースと連携してページを作成しています。
同じページ内をCSSで左側と右側にまず分けています。
左側に目次をつくり、文字をクリックするとそれに対応した内容をデータベースから読み込み、右側に表示するというページを作成しました。
しかし、右側に表示する文章がデザインの都合上、下の方に表示しているので、目次をクリックするたびにスクロールしなければいけません。
それをなくすために、同じページ内にアンカーを作成して、
クリックしたらそのアンカーに飛ぶようにしたいのですが、うまくいきません。。
うまく説明できないのでコードで書きますが、つまり
index.phpというページの左側には
a
b
c
というように目次の文字が羅列してあって、
aのリンクは「index.php?name=a」というようにしておいて、
aをクリックしたらそのページの$nameに「a」を渡したページを表示します。
で、やりたいことは同ページ内にアンカー「tag」を埋め込んであるので、できたらindex.php#tagを表示させたくて、
気持ちとしてはaをクリックしたら「index.php#tag?name=a」というページを表示したいのですが、このコードだとうまく表示されません。
値受け渡しとアンカーを同時に使用する方法があったら教えていただきたいです。
説明が下手ですみません><
わかる方いたら、ぜひお願いいたします。
No.1ベストアンサー
- 回答日時:
クエリとフラグメントの順が逆
index.php#tag?name=a → index.php?name=a#tag
[quote cite="http://www.studyinghttp.net/rfc_ja/rfc3986#Sec3 "]
・path は、最初の疑問符 ("?") か数字記号 ("#") の文字、あるいは URI の終わりによって終結する。
・query 構成要素は、最初の疑問符 ("?") 文字によって始まり、数字記号 ("#") 文字、あるいは URI の終わりによって終結する。
・fragment 識別子構成要素は、数字記号 ("#") 文字の存在によって表され、URI の終わりによって終結する。
fragment = *( pchar / "/" / "?" )
fragment 識別子の意味論は、主要リソースへの取得動作から生じるであろう表現の集合によって定義される。
従って、fragment の形式と解決は、例えその URI が逆参照される場合にのみ、そのような取得が実行されるとしても、取得されうる表現のメディアタイプ [RFC2046] に依存する。
そのような表現が存在していなければ、fragment の意味論は未知であるとみなされ、事実上制限されない。
...
スラッシュ ("/") と疑問符 ("?") 文字は、fragment 識別子内でデータを表す事ができる。いくつかの古い、エラーのある実装では、それが相対的参照 (Section 5.1) の基底 URI として使用される場合、そのようなデータを正しく扱わないかもしれない事に注意せよ。
[/quote]
「 #tag?name=a 」のように tag の後にクエリを置いた場合、「tag で示される部分集合に」データとして渡されるようです。(X)HTML に限れば、Fragment(#以降)は ID または、NAME なので、クエリ("?" 以降)を指定した場合の動作は不定、ブラウザによりけりだと思います。(未検証)
cf.) http://www.w3.org/TR/xhtml1/#C_8
迅速な回答ありがとうございます!
無事に解決しました!!!
なるほど、逆だったのですね・・・。
この書き方だと気持ち的に「a#tag」を渡してしまいそうで試していませんでした><
おかげさまで本日作業ができます!
本当にありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Word(ワード) ワード2023でテキストボックス内の数字が勝手に変わってしまう 1 2023/02/09 14:47
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- MySQL PHPとMySQLを使った掲示板の作り方 1 2022/06/02 13:00
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【PHP】ブログ記事をお気に入り...
-
phpとpostgresを利用した検索シ...
-
【WordPress】メディアの一覧出力
-
フォントの色を変えるには?
-
PHPの設定で、 エラーが発生し...
-
onedrive にexcelファイルをア...
-
Linux:PHPでTELNETによるSMTP...
-
ListViewコントロールでサムネ...
-
ボタンのクリック数を合計保存...
-
ワードプレス、Contact Form 7...
-
PHPのif文でその処理を途中で抜...
-
現在位置より2つ上のディレク...
-
別ファイルの変数を呼び出した...
-
【file_exists】ファイルが存在...
-
UWSCでファイルのアップロード...
-
PHPExcel処理速度が遅い
-
PHPで`headers already sent`と...
-
【PHP】declare命令で”Fatal er...
-
PHP8を使うと、大量のWarningが...
-
mysql_close()
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リダイレクトでPOST
-
URLの変わらないページをPHPで...
-
phpinfoでloaded modulesが表示...
-
【WordPress】メディアの一覧出力
-
URLでスラッシュ区切りでパラメ...
-
特定のサイトを経由しないとペ...
-
PHPで検索結果からさらに詳細な...
-
ヘッダーは500エラー、ブラウザ...
-
WordPress 検索結果ページのペ...
-
PHPの値受け渡しとアンカーを一...
-
テキストリンクを2回クリックし...
-
php my adminより取り出したデ...
-
FPDFを使ったPDF出力時の縦幅に...
-
phpとpostgresを利用した検索シ...
-
リンク(URL)をクリックした後、...
-
会員サイトに自動ログインして...
-
DBのレコード数のリンクを表示
-
携帯端末auのみpostで送ったデ...
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
おすすめ情報