![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?08b1c8b)
URLの変わらないページをたまにみかけますが、どういう仕組みになっているのでしょうか?
仮にこういうURLでアクセスしたとして、
http://host.com/saite1/index.php
実行したら
http://host.com/saite1/
に変わる
何か機能のボタンを押して画面の表現が変わっても
URLは
http://host.com/saite1/
一連の同じ機能範囲の動作は常に同じURLになっているWEBページをたまにみかけます。
これはどのような仕組みになっているのでしょうか?
PHPでそれは実現できるのでしょうか?
また、「あーそれ、・・・だからやんない方がいいよ」的な意見もよろしくお願いします。
No.3ベストアンサー
- 回答日時:
全ての画面遷移がindex.php(あるいはサーバーで設定されたtopファイル)を通じて行われる作りのことを「フロントコントローラー」と呼びます。
制御方法は様々ですが、下の方が仰られているとおり、何らかのパラメタをindex.phpに返すことで、それをif文なりswitch文なりで制御して、画面遷移を行います。下の回答の方はPOSTまたはGETでと仰っておられますが、
GETでパラメタを渡すと
http://host.com/saite1/index.php?xx=xx
のように後ろにパラメタが付いてきますので、POSTでのみ可能です。
No.2
- 回答日時:
POSTデータ、GETデータがある時、IsSet()を利用する事で実現可能です。
【index.php】
<?php
if (isset($_POST['data'])) {
print("2ページ目");
}
else {
print <<< page1
1ページ目<br>
<form method="post" action="index.php">
<input type="text" name="data" value="1">
<input type="submit" value="送信">
page1;
}
?>
但し、そういう事が出来るからと言って、沢山のページを1ファイルに記述すると
当然の如く解読が煩雑になってきます。
沢山のページを1ファイルで記述したい場合、
判定を記述した後、ページ毎に関数化させた関数を呼び出したり
外部ファイルをincludeさせたりする事で多少は分かり易くなります。
No.1
- 回答日時:
「URLの変わらないページ」の説明が今ひとつ
理解できませんが、index.phpが省略できるかどうか?
という質問だと理解すれば、そういう設定さえして
おけばできます。はっきりいえばphpは関係ありません。
httpサーバーの機能と考えて結構です。
ダラダラ長いURLをきらういわゆるアクセシビリティ
という考え方ですね。
機能のボタンを押して画面の表現が変わっても、
urlが変わらない・・・
これは大きく3つ考えられます。
(1)FORMをPOST方式でPHPに投げているケース。
PHPはプログラムですから、パラメータをもらえば
それにみあった別の表示をすることができます。
(2)DHTMLを使っているケース。
HTMLはダイナミックに表示を操作することが
できます。同じページ内で、大幅に文章や画像を
入れ替えれば、おっしゃるようなことができます。
またajaxと総称される方式でPHPと組合せて使う
こともできます。
(3)フレームを使うケース。
フレームをつかったページの場合、外枠と、
中身のhtmlが別々なので、表示されるurlは
変更されません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(IT・Webサービス) 301リダイレクトの使い方について 7 2022/04/05 17:50
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
- オープンソース AWSドメイン名でApacheテスト・ページを表示させる方法を教えて下さい。 1 2023/04/26 15:59
- WordPress(ワードプレス) ワードプレスのパーマリンク設定について 1 2023/02/11 19:08
- 消費者問題・詐欺 詐欺にあいました 8 2022/04/22 15:21
- PHP 「teratail」での回答内容がいまいちわかりません。 1 2022/09/10 05:05
- その他(開発・運用・管理) LocalでWordPressのローカル環境を構築するをためしてからエラーが出るように 4 2023/06/03 14:58
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- その他(ブラウザ) このページは動作していません HTTP ERROR 401 2 2022/11/28 12:11
このQ&Aを見た人はこんなQ&Aも見ています
-
今年はじめたいことは?
今年はこれをはじめたい!ということを教えてください!
-
【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
【お題】・忍者がやってるYouTubeが炎上してしまった理由
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
テレビやラジオに出たことがある人、いますか?
テレビやラジオに取材されたり、ゲスト出演したことある方いますか?
-
今から楽しみな予定はありますか?
いよいよ2025年が始まりました。皆さんには、今から楽しみにしている予定はありますか?
-
URLを変えないで表示する方法
HTML・CSS
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・【大喜利】【投稿~1/31】『寿司』がテーマの本のタイトル
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・【大喜利】【投稿~1/20】 追い込まれた犯人が咄嗟に言った一言とは?
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPの値受け渡しとアンカーを一...
-
HPのページについて・・・
-
フォーム処理から戻ったページ...
-
phpとpostgresを利用した検索シ...
-
phpで更新しない方法についての...
-
FPDFを使ったPDF出力時の縦幅に...
-
PHPのif文でその処理を途中で抜...
-
Subversionのリポジトリの削除
-
visualstudioでc#のdllができない
-
サーバーによってはmb_send_mai...
-
onedrive にexcelファイルをア...
-
.phpと.incファイルの違いはな...
-
ファイルアップロードしたもの...
-
インクルードした部分が表示さ...
-
VBでクラウドストレージにア...
-
VBSの「MsgBox」について
-
PHPでディレクトリの容量を取得...
-
文字列の10+10を20と表示したい
-
バッチを用いたフォルダの自動移動
-
FTPコマンドでディレクトリごと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
URLの変わらないページをPHPで...
-
PHPの値受け渡しとアンカーを一...
-
cURLの413エラーの解決方法を教...
-
会員サイトに自動ログインして...
-
リダイレクトでPOST
-
phpinfoでloaded modulesが表示...
-
URLでスラッシュ区切りでパラメ...
-
【WordPress】メディアの一覧出力
-
phpとpostgresを利用した検索シ...
-
特定のサイトを経由しないとペ...
-
テキストリンクを2回クリックし...
-
PHPで、データを表示させるとき...
-
【PHP】ブログ記事をお気に入り...
-
FPDFを使ったPDF出力時の縦幅に...
-
php_selfで複数の変数をパラメ...
-
フォーム処理から戻ったページ...
-
ヘッダーは500エラー、ブラウザ...
-
wordpressの固定ページの1部の...
-
phpでの二重投稿防止について
-
携帯端末auのみpostで送ったデ...
おすすめ情報