getでデータ受信 : ぺたっとPHPサンプルソースコード |
ページから値を渡し受け取るには
$_GET
を使う。
POSTの場合、フォームから送信ボタンを押した場合は項目別に変数に格納される。
例えばHTMLで
<input type = "text" name = "onamae">
とした場合、"onamae"に変数が格納されて送られてくるので分かりやすい。
逆にフォームを使わずにページからデータを送信するにはどうしたらいいのかというと単に
アドレスに追加する
っていうだけ。
そして前者は$_POSTで受け取り、後者は$_GETで受け取る。
実際の変数の渡し方は
http://アドレス/test.php?onamae=値
というような感じでリンクを貼る。
拡張子の後に?=を追加し、変数名を指定する。そして
$onamae = $_GET["onamae"};
のように受け取る。
まとめるほどではないがまとめると、
|
上だけを書いたファイル、ここではtest.phpとしてそこに変数を送るにはブラウザのアドレスバーに
http://アドレス/test.php?onamae=値
と打ってみれば分かる。
ページには値としたものが表示される。
こうして渡す変数は&でつなげる事ができて、
onamae1=atai1&onamae2=atai2&onamae3=atai3
のような形でいくつでも送信でき、それぞれ$_GETで受け取れる。
つまり、ページから変数を送るにはそのアドレス(ファイル)に対して変数を付加すればよく、
HTMLやPHPで出力するリンクを
<a href="test.php?onamae=値">こちら</a>
とすればよい。
一般的なアクセス解析などもこのようにデータ送信していて、
どこでも実装できるようにjavascriptで書かれているが基本は同じ。
例えば
<script type = "text/javascript" src="test.php?onamae1=atai1&onamae2=atai2&onamae3=atai3">
でデータが送れる。
</script>
通常はダイレクトにphpに値を渡さず、一度test.jsなどのjavascriptファイルに送り、
そこでいくつかの処理を行い、そこからデータを渡したりする。
jsファイルからデータを送る場合も考え方はほぼ同じで、
var test1 = "mike";
(先に書いたものと違って、+でつないでいるのはwriteで「文字」と「変数」を書き出しているため)
document.write("<script type=text/javascript src=test.php?onamae=" + test1 + "</script>");
で渡せる。
一応説明しておくが、document.writeとしているのは
あくまで初めに呼び出したページに全て展開される
から出来ること。
つまり、一度jsに送っているが、そのファイル内で行うことやwriteする事は
初めのページに展開される
ので、jsからjs、更にphpにデータを送っても、同じく
初めのページに展開される
ということで、ページ内にphpを直接書いたり呼び出したりしているのと同じということ。
上の例で言えばhtmlページのscriptタグ内にdocument.writeしている事になる。
逆にscriptでデータをPHPに渡した場合、そのPHPファイルでprintするとjavascriptタグ内に帰ってくる事になるので、
print("あああ");などと書いてもエラーになるので、print("document.write(\"あああ\");");などのように書かなくてはいけない。
当然パスも初めのページが基点になる。
当サイト「ぺたっとPHPサンプルソースコード」は、初めてPHPを触る初心者でもすぐにPHPプログラミングができる・分かるサイトです。
PHPのサンプル
0から始めるPHP
日記