こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

リンクしたPHPへ変数をわたしたい

今 サンプルをくっつけようとしています。

*1つのサンプルはログイン認証(PHP)で、ユーザー($username)を認証してから他のメニュー(ここではアップロード・ダウンロード,PHP)へ飛ぶようにテンプレート(TPL)上でPHPのリンクをつけてあります。

*TPLファイルでは、以下のような部分を付加してありますが、
画面上でログインしているユーザー名($username)が表示されます。

<P>
{$username|escape:"html"}
<BR>
<BR>
<A href="storage.php?{$username}={$username|escape:"html"}">"{$username|escape:"html"}"ファイルのアップロード・ダウンロード</A>
<BR>
<BR>

画面上に表示されたリンクをクリックしてstorage.phpへ飛ぶと、
storage.php内で 表示できるように設定した$usernameが表示されません。
storage.phpではユーザー別のフォルダをつくりそこにアップロード・ダウンロードさせたいのですが $usernameがわたらないために どのユーザーでも同じフォルダーにアクセスすることになってる現状です。

storage.phpでは 以下のような内容

function listup($username,$key)
{
global $dirname;

print $dirname;

$dir="./data/$dirname";
...............
$username さんのファイル一覧

インターネットや本をみたのですが、わかりません。
すみませんが お気づづきのかたいらっしゃいましたら
アドバイスお願いいたします。

投稿日時 - 2008-08-08 14:57:57

QNo.4237012

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

ページ間の変数の受け渡しにはセッションを使うのが一般的です

http://www.php.net/manual/ja/ref.session.php

投稿日時 - 2008-08-08 16:01:49

補足

回答ありがとうございます。
セッションによる受け渡しと、パラメーター渡しでもできるようなので、
パラメーター渡しでやってみました(手軽にできそうだったので)。

$dirname = $_GET["username"];

このユーザー名を使って、最初の一覧表を出すときには うまく出るのですが、storage.phpのメニューで再度一覧表を出そうとすると
$dirnameの値が 消えてしまって 表示ができません。

このあたりは
セッションによる受け渡しと パラメーターによる受け渡しで 効果の違いがあるのでしょうか?

目的は単に認証を行った ユーザー名を使って 他のモジュール(phpファイル)で ファイルのアップロードダウンロード処理(フォルダー作成含め)を行いたいだけなのですが。。。

もし適当なサンプルプログラムがありましたら ご紹介いただけると 非常に助かります。

よろしくお願いいたします。

投稿日時 - 2008-08-22 19:16:58

あなたにオススメの質問