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

PHP+MYSQLでサイトを作っているのですが、
よい方法が思い浮かばないので、助けてください。

トップページ以外は、
a.php?id=001&mod=view ・・・・・(1)
のようにして表示させています。

(1)のページを見ていて、入力画面に入り、入力後に(1)のページにもどるような設定にしたいと思っています。

入力画面でも
input.php?prm=015&return_url=a.php"・・・・・(2)
のように$_GETを使ってフローを制御するようにしています。

このとき、(2)のように戻り先をa.phpまでは指定できるのですが、(1)の?id=001&mod=viewの部分を1つの文字列として一緒にわたしたいのですが、なにかよい方法はないでしょうか?

以上、よろしくお願いいたします。

A 回答 (3件)

urlencodeして渡しましょう


$url="a.php?id=001&mod=view";
echo 'input.php?prm=015&return_url=' . urlencode($url);
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

解決しました!!

お礼日時:2006/07/21 02:33

私もベーススクリプトにモジュールを読み込ませるようにして設計する事がたびたびあります。

設計が楽ですよね。

でも、注意したい事として、ユーザーにどんなプログラムを組んでいるか分かりやすい事です。直たたきでセキュリティホールになりやすい、と言う事も念頭に入れておく必要があります。
例えばユーザ名が連番だったり、モジュールも番号だったりすると、実際にはアクセスさせたくない場所にアクセスできたりとか。。。

と、前置きはこの辺までにしておきまして(笑。
セッションを使うと言うも一つの解です。
仮に$_SESSION[tmp]に諸々の変数を登録するとして、例えば、return_urlとする代わりに

session_start();//セッション関数に登録しましょう$_SESSION[tmp][nowurl] = $_SERVER[PHP_SELF];//とりあえずPHP_SELFを入れたり
$_SESSION[tmp][get] = $_GET;//とりあえずGETで送られた変数を登録してしまえ

とかすれば、内部的に何をしているかをマスク出来ると思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

今回は、No3の方の方法で解決できました。

機会があれば、セッションを使いたいと思います。

お礼日時:2006/07/21 02:33

変数名にかぶりがないのであれば


$_SERVER['QUERY_STRING']
でGET部を取得するのはいかがでしょうか。

"?id=001&mod=view&{$_SERVER['QUERY_STRING']}&"

のような形です。
ただし、$_SERVER['QUERY_STRING']をそのまま返すと
セキュリティホールになりえるので対策は必要です。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

すみません、質問の意図が明確でなかったようです。

$_GETの値の取得の仕方ではなく、

"?","&","="等を含んだ文字列を
$_GETの1つの要素として引き渡すか
がわからなかったのです。

お礼日時:2006/07/21 02:31

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