[PHP-users 4905] Aタグで変数を渡す

Watanabe Takehiro php-users@php.gr.jp
Wed, 23 Jan 2002 15:57:51 +0900


渡辺(雄)@NTT-IT です。

リンク先へ変数を引き継ぐ方法について教えてください。

<a href="hoge.php" >hoge</a>
とするとリンク先のcgiであるphpプログラムを呼び出すことが可能ですが、
これにformでpostしたときのように変数を渡すことは可能でしょうか?

PHP と PostgreSQL を使っています。

PHP のプログラムからPostgreSQLに対して以下を実行し結果をブラウザに表示しま
す。
	a.php の一部
	select * from file_lobj;
表示された結果の中の一部のみを表示させるために
	b.php の一部
	select * from file_lobj where username='太郎';
と実行して一部分だけ表示させるプログラムを作成したいと考えています。

a.php の実行結果イメージ
filename         username
filename1.jpg     kris
filename2.jpg     kris
filename3.jpg     kris
filename4.jpg     kris
filename5.jpg     kris
filename6.jpg     太郎
filename7.jpg     太郎
filename8.jpg     太郎
filename9.jpg     太郎
filenameA.jpg     太郎

上記の「太郎」をクリックするとb.phpが実行され下記が表示される。

b.php の実行結果イメージ
filename         username
filename6.jpg     太郎
filename7.jpg     太郎
filename8.jpg     太郎
filename9.jpg     太郎
filenameA.jpg     太郎

方法として2つ考えました。ただどちらもイマイチだと考えています。

その1、hoge.php?username=$username とする方法。
  <a href="hoge.php?username=$username" > hoge </A>
  URLに引数が付かない方法をと考えているので、できれば使用を避けたいと
  考えています。

その2、formを使う方法

  以下のようにformを使った方法も検討してみました。

  <TR>
    <TD>filename1.jpg</TD>
    <TD>
      <FORM name=query action=hoge.php method=post>
        <INPUT type=hidden value=太郎 name=username>
          <A onclick=submit(); alt="jump">太郎</A>
      </TD>
    </FORM>
  </TR>

  この方法は、(1)formタグとTDタグをキレイな入れ子にできない。
                 formタグをTDタグの中に入れると、
                 IEで表示がおかしくなる現象が出ています。
                 formタグをTDタグの外に出すと
                 Netscapeでジャンプができなくなってしまいます。
              (2)リンクにマウスカーソルを持っていってもカーソルが変化しない。
                 クリックできることがユーザにわかりづらいです。
  この方法もイマイチなので使用を避けたいと考えています。                 

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