• ベストアンサー

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を使わずにページが表示されたら スグに変数が渡されるようにしたいです。 いろいろ試してみましたが、力不足で出来ませんでした。 宜しくお願いします!

  • PHP
  • 回答数5
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

No.1です。補足情報ありがとうございます。 PHPで実現させるのであれば、No.2の方が回答されている方法が一番実現可能な方法ではないかな?と思います。 確かにライブラリにDB情報等を記載するのは抵抗があるかもしれませんが、例えばDB情報のライブラリを公開する場所ではないディレクトリに入れてそこから読み込めば直接PHP内に記載するよりは抵抗が少なくなると感じます。

その他の回答 (4)

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.4

ANo.2です。 .phpファイルに記述されている内容がブラウザを介して閲覧されることはないので問題なさそうですが、ライブラリによっては接続のための情報を別のファイルに記述してwebからアクセスのあるファイルにはそれらを書く必要がないものもあります。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

質問の内容はおそらくajaxでおこなうものだと推測されます。 もしそうでなければリロードする(submitするなど)しかありません

  • UmJammer
  • ベストアンサー率58% (115/196)
回答No.2

ページ毎のアクセス数をDBに格納したいということでしょうか。 そうであれば各ページ(ファイル)でSQLを発行するだけでいいと思うのですが。

yu-ki0326
質問者

補足

各ページで直接SQLを書いてしまうと、 ソースにDBログイン時の情報が記載されてしまい情報漏えいにつながると 考えました。 ファイルを分けても変わらないんでしょうか?

回答No.1

すみません。ページが表示されたら変数を渡すというのは、具体的にどのような場面を想定されていますか? 例えばですが、貴方のトップページにtest.phpのリンクがあって、そこに変数idの値aaaを渡すと仮定すれば、 test.php?id=aaa というGETメソッドのリンクで変数を渡せますが、こういう事ではないですか?

yu-ki0326
質問者

補足

ありがとうございます。 具体的にやりたいことは、自分の持っている複数の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"); ?> ------------------------------ とすると、呼び出しもとのページすら表示されなくなってしまったので 「出来ないのか・・」と諦めていました。 ただ、自分の力不足だけなのでしょうか。。。 宜しくお願い致します!

関連するQ&A

  • 同一ページで複数のformを扱う場合

    同一のページ内にhiddenでIDを振った削除ボタンを用意しクリックされたIDを取得するにはどのようにすれば良いでしょうか? <form action="/test.php" name="1" method="post"> <input type="hidden" name="id" value="1" /> <input type="submit" name="delete" value="削除"> </form> -- 省略 <form action="/test.php" name="10" method="post"> <input type="hidden" name="id" value="10" /> <input type="submit" name="delete" value="削除"> </form> formにnameを振ってみても最後のIDがPOSTされてしまいます。

    • 締切済み
    • PHP
  • <FORM> </FORM> の中に さらに <FORM> </FORM>があるときのSUBMITボタンについて

    今、 <FORM ACTION="aaa.asp" METHOD="POST" Name="form1"> <input type="SUBMIT" value="ボタン1"> <FORM ACTION="bbb.asp" METHOD="POST" Name="form2"> <input type="SUBMIT" value="ボタン2"> </FORM> </FORM> としていて、ボタン2を押すとbbb.aspに 飛んでほしいのでに、aaa.aspに飛んでしまいます。 こういう場合どのようにすればよいのでしょうか? それぞれのボタンは hidden の値をそれぞれの フォームの中の値を渡したいので どうしてもSubmitがいいのです。

    • ベストアンサー
    • HTML
  • 複数formの使用について

    お世話になります。 複数のFORMを入れ子で使用する方法はありますでしょうか? 下記の記述だと外側のFORMが無効になってしまいます。 表示の順は以下のようにしたいです。 aaa.phpへPOST変数でデータを受け渡して使用します。 <form method="post" name="test1" action="aaa.php"> <input type="text" name="text01" id="textA" value="10"> <input type="text" name="text02 id="textA" value="20"> <input type="text" name="text03" id="textA" value="30"> (上のinputタグ数は動的に変わります) <form method="POST" name="test2" action="bbb.php"> <select name="select"> <option>selectA</option> <option>selectB</option> <option>selectC</option> <input type="submit" name ="read" value="読込"> </select> </form> <input type="submit" value="保存" > </form> 以上、よろしくお願いいたします。

    • 締切済み
    • PHP
  • submitではなくbuttonで送信

    事情があり、submitではなくbuttonでフォームのデータを送信したいのですが、以下のように書くとbuttonでは4567が送信されません。 <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="submit" name="bbb" value="4567"> </form> ↓ <form action="test.cgi" method="post"> <INPUT type="hidden" name="aaa" value="1234"> <INPUT type="button" name="bbb" value="4567" onclick="submit();" > </form> submitと同じように、bbbのデータ4567も送信するにはどのように書けばよいのでしょうか? 宜しくお願いします。

  • 複数FORMの一括実行について

    通常であれば同一サイト内に下記のソース(フォーム)が入るのですが、 これを改良しサイト上で希望の送信先をチェックボックスで選択し一回の操作で複数のcgiを実行したく思います。 良いcgiがあれば教えてください。 又は改造ができるcgi、修正方法を分かりましたらお教え願います。 サイトA <form action="https://aaa.cgi" method="post"> <input type="hidden" name="名前" value="name"> <input type="hidden" name="メール" value="mail"> <input name="Submit" type="submit" value="送信"> </form> サイトB <form action="https://bbb.cgi" method="post"> <input type="hidden" name="名前" value="name"> <input type="hidden" name="メール" value="mail"> <input name="Submit" type="submit" value="送信"> </form> サイトC <form action="https://ccc.cgi" method="post"> <input type="hidden" name="名前" value="name"> <input type="hidden" name="メール" value="mail"> <input name="Submit" type="submit" value="送信"> </form>

    • 締切済み
    • CGI
  • 一つのformで、複数のaction指定

    レイアウトなどの関係で、formの配置が基本とは異なるものになってしまい、うまく動作させる方法が見つからず困っています。 現在は <form> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> </form> …… <form method="POST" action="A.php"> <input type="submit" name="aa" value="あああ"> </form> <form method="POST" action="B.php"> <input type="submit" name="bb" value="いいい"> </form> <form method="POST" action="C.php"> <input type="submit" name="cc" value="ううう"> </form> <form method="POST" action="D.php"> <input type="submit" name="dd" value="えええ"> </form> のようになっていて、チェックボックスの値を送信したいのは、Dのボタンを押したときだけPOSTされるようにしたい状態です。 この値を取得する方法か、もしくは <form method="POST" action="(ボタンに応じたもの)"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> …… <input type="submit" name="aa" value="あああ"> <input type="submit" name="bb" value="いいい"> <input type="submit" name="cc" value="ううう"> <input type="submit" name="dd" value="えええ"> </form> このように、一つのフォームの中に埋めてしまい、actionに入る値をボタンによって分ける方法はありませんでしょうか? もしくは他の方法でも構いません。 お分かりの方がいましたら、是非ご教授お願いいたします。

    • 締切済み
    • PHP
  • form変数の初期化

    <br /><b>Notice</b>: Undefined index: your_name in <b>C:\xampp\htdocs\test\index.php</b> on line <b >83</b><br /> 入力画面で上記のエラーが解決しません。 どうすればいいでしょうか? 入力画面 <?php $_POST = array(); ?> <form method="post" action="./form_check.php"> <div class="element_wrap"> <label>氏名</label> <input type="text" name="your_name" value="<?php echo $_POST["your_name"]?>"> </div> <div class="element_wrap"> <label>メールアドレス</label> <input type="text" name="email" value=""> </div> <input type="submit" name="btn_confirm" value="入力内容を確認する"> </form> 確認画面 <?php $your_name = $_POST["your_name"]; ?> <form method="post" action="./test.php"> <div class="element_wrap"> <label>氏名</label> <p><?php echo $your_name; ?></p> </div> <div class="element_wrap"> <label>メールアドレス</label> <p><?php echo $_POST['email']; ?></p> </div> <input type="submit" name="btn_submit" value="送信"> </form> <form method="post" action="./index.php"> <!--<input type="button" name="btn_back" onclick="history.back()" value="戻る">--> <input type="submit" name="btn_back" value="戻る"> <input type="hidden" name="your_name" value="<?php echo $_POST['your_name']; ?>"> <input type="hidden" name="email" value="<?php echo $_POST['email']; ?>"> </form>

    • 締切済み
    • PHP
  • リンク風sabmitのformをまとめられますか?

    フォームの送信を、リンク風に表示しているのですが、 複数ある場合、フォームタグをまとめることはできるのでしょうか? 下記にHTMLを記載しております。 <form name="word1" method="POST" action="word.php"> <input type="hidden" name="fruit" value="みかん"> </form> <form name="word2" method="POST" action="word.php"> <input type="hidden" name="fruit" value="りんご"> </form>    ・    ・    ・    ・ <form name="word100" method="POST" action="word.php"> <input type="hidden" name="fruit" value="ぶどう"> </form> <a href="javascript:document.word1.submit()">みかん</a> <a href="javascript:document.word2.submit()">りんご</a>    ・    ・    ・    ・ <a href="javascript:document.word100.submit()">ぶどう</a> と、1つ1つ書いていて長すぎると思っていたのですが まとめることは可能なのでしょうか? また、可能であれば、javascript等の知識が必要となるのでしょうか? ご教授宜しくお願い致します。

  • シングルコーテーションのデータ受渡し方法

    現在PHPとMySQLで初めてシステムの作成をしていて、データの受渡し方に悩んでいます。 FormでPOSTのデータの「'」の受渡しで、現在はPHP内で $body .= "<FORM NAME='objform' ACTION='form_check.php' METHOD='POST'> <INPUT TYPE='hidden' NAME='name' VALUE='$name'></FORM>" のようにすると、$nameに途中に「'」が入ってしまった場合、途中で切れた文字が受け渡されてしまいます。 そこで、 print <<< EOF <FORM NAME="objform" ACTION="form_check.php" METHOD="POST"> <INPUT TYPE="hidden" NAME="bunrui" VALUE="$bunrui"> </FORM> EOF; のようにして、受渡しは出来たのですが、Javascriptの併用で、 <input type="button" value="編集" onclick="EditExec('$name', '$namae_cd');"> のように、引数を複数渡す時に「'」を使うとjavascriptが動かなくなってしまいました。 皆さんはデータ受渡しの時はどのように行っているのでしょうか? もし良い解決策がありましたらご教授下さい。

    • ベストアンサー
    • PHP
  • php内のformのvalueに変数の値をいれたい

    どうぞよろしくお願いします。 php内のformのvalueに変数の値をいれたいのですが、下記の様に書くと<?=$a?> がそのままソースに出てしまいます。 どの様に書けば変数の値をvalueに格納できるでしょうか? <?php $a='abcd'; print'<form method="post" action="abc.php">'; print'<input type="hidden" name="a" value="<?=$a?>">'; print'</form>'; ?>

専門家に質問してみよう