dポイントプレゼントキャンペーン実施中!

1つのphpでいくつものページを作成したいのですが、
「index.php?id=index」でindexページ、
「index.php?id=profile」でproflieページ、
というふうにする方法があれば、教えて下さい。
宜しくお願いします。

A 回答 (5件)

#4ですが、



index.phpというURLでアクセスした際に出てくるページ(入口とかがいいかもしれません)を出させる時は、
default : require "./file/page_index.html"; break;
の部分を、
default : require "(入口URL)"; break;
↑カッコ不要、ダブルクォーテーション(")必要
に書き換えてください。
    • good
    • 0

以下の通りにすればいくと思います。



1.まず、表示させるページを作る。(拡張子はphpでもhtmlでも何でもよいです)
2.1で作ったページを、フォルダを作ってアップロードしてください。
(ここでは、./file/ フォルダに、page_index.html(page_index.php)と、profile.html(profile.php)という名前アップロードしたとします。

3.index.phpに以下の通りに記述して、fileフォルダの一つ上にアップロードしてください。

<?php
switch ($_GET["id"]) {
default : require "./file/page_index.html"; break;
case "index" : require "./file/page_index.html"; break;
case "profile" : require "./file/profile.html"; break;
}
?>

トップページにアクセスするときは、
http://●●.com/index.php
http://●●.com/index.php?id=index
上のどちらでもいいので、アクセスしてください。
プロフィールにアクセスするときには、
http://●●.com/index.php?id=profile
にアクセスしてください。
    • good
    • 0

if($_SERVER["QUERY_STRING"] == "index"){



}
elseif($_SERVER["QUERY_STRING"] == "profile"){
}

というふうに、$_SERVER["QUERY_STRING"]を使うと、
index.php?indexやindex.php?profile
というアドレスで可能。
アドレスがシンプルでいいかも。
    • good
    • 0

私はactionという変数でページを振り分けています。


(actionは何でもOKですがダブりにくいものを!!)
例)
index.php
<?
$IN_DATA=$_GET+$_POST; #get&post data取得
switch($IN_DATA[action]){
 case "main":main();break;
 case "page1":page1();break;
 default:start();break;
}
function start(){
print <<<EOM
start
EOM;
}
function main(){
print <<<EOM
main
EOM;
}
function page1(){
print <<<EOM
page1
EOM;
}
function start(){
print <<<EOM
start page
EOM;
}
?>

上記、プログラムで振り分けは完了です。
最初に呼び出すときは普通にindex.phpを呼び出し以降はform(GET&POST)で再度index.phpを呼び出します。
例)
<a href=./index.php?action=main>main</a>
等です。

色々カスタマイズして使用してみてください。
    • good
    • 1

色々方法があるとは思いますが、


基本的には、id の 変数を見て、

1.読み込むテンプレートを変更する

2.表示する範囲を変更する

あたりが簡単でよろしいかと思います。
私は、変更する量が軽微な場合は2を、多い場合は1を使っています。
あんまり多すぎる場合は、こだわらずに別ページにするのも良いと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!