- ベストアンサー
Formを使ったPHP間での受け渡しについて
いつもお世話になっています。 PHP間での変数の受け渡しで・・ <form action="<?= test.php ?>" method="POST"> <input type="hidden" name="id" value="aaa"/> <input type="submit" name="submit" value="送信"> </form> と記述するとtest.phpには渡したいaaaが渡されるのですが、 これだとsubmitを押さないと渡せないため困っています。 したいことをまとめると、submitを使わずにページが表示されたら スグに変数が渡されるようにしたいです。 いろいろ試してみましたが、力不足で出来ませんでした。 宜しくお願いします!
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。補足情報ありがとうございます。 PHPで実現させるのであれば、No.2の方が回答されている方法が一番実現可能な方法ではないかな?と思います。 確かにライブラリにDB情報等を記載するのは抵抗があるかもしれませんが、例えばDB情報のライブラリを公開する場所ではないディレクトリに入れてそこから読み込めば直接PHP内に記載するよりは抵抗が少なくなると感じます。
その他の回答 (4)
- UmJammer
- ベストアンサー率58% (115/196)
ANo.2です。 .phpファイルに記述されている内容がブラウザを介して閲覧されることはないので問題なさそうですが、ライブラリによっては接続のための情報を別のファイルに記述してwebからアクセスのあるファイルにはそれらを書く必要がないものもあります。
- yambejp
- ベストアンサー率51% (3827/7415)
質問の内容はおそらくajaxでおこなうものだと推測されます。 もしそうでなければリロードする(submitするなど)しかありません
- UmJammer
- ベストアンサー率58% (115/196)
ページ毎のアクセス数をDBに格納したいということでしょうか。 そうであれば各ページ(ファイル)でSQLを発行するだけでいいと思うのですが。
- Crystalize
- ベストアンサー率57% (78/136)
すみません。ページが表示されたら変数を渡すというのは、具体的にどのような場面を想定されていますか? 例えばですが、貴方のトップページにtest.phpのリンクがあって、そこに変数idの値aaaを渡すと仮定すれば、 test.php?id=aaa というGETメソッドのリンクで変数を渡せますが、こういう事ではないですか?
補足
ありがとうございます。 具体的にやりたいことは、自分の持っている複数のphpページに アクセスカウンターのようなものを設置しようとしています。 アクセス数はphpページに表示せず、DBに持つことにしています。 <呼び出すphpクエリ>-------------------- $page = $_POST['id'] ; $sql = "INSERT INTO COUNT (PAGE_NAME,HIT_COUNT) VALUES ('$page',1) ON DUPLICATE KEY UPDATE HIT_COUNT = HIT_COUNT + 1;" -------------------------------------------- test.php?id=aaaも試してみたのですが、 <呼び出し元のphp>------------ <?php require("home/test.php?id=aaa"); ?> ------------------------------ とすると、呼び出しもとのページすら表示されなくなってしまったので 「出来ないのか・・」と諦めていました。 ただ、自分の力不足だけなのでしょうか。。。 宜しくお願い致します!
補足
各ページで直接SQLを書いてしまうと、 ソースにDBログイン時の情報が記載されてしまい情報漏えいにつながると 考えました。 ファイルを分けても変わらないんでしょうか?