画面遷移する時に次のページに値を渡す方法を紹介していきます。
やり方は色々ありますが、今回は一番簡単でシンプルな方法をやっていきます。
その一番簡単かつシンプルに値を渡す方法とは、HTMLの”ボタン”や”リンク”をクリックした時のURLに値をくっつけるという方法です。
この方法は、ボタンやリンクを押された時に「固定で決まっている値を渡す」時に使えます。
もう一つ、PHPの”SESSION”を使って渡す方法もあります。
こちらは、”変数”などの可変値を渡すことが出来る方法です。
このSESSIONで値を渡す方法は下の記事で紹介しています。
さて、今回のhrefで遷移した画面に値を渡す一番シンプルな方法を紹介していきます。
プログラミング中、誰かへ相談したいことはありませんか?
プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。
そんな悩みを解決できるのがオンラインプログラミング学習サービス(侍エンジニア)です。
月額2,980円から学べて、現役エンジニアとオンラインで相談できるほか、
回答率100%のQA掲示版でプログラミングに関する悩みを解決します!
公式サイトからご入会いただくと、お得な割引クーポンを利用できるので、気になる方はぜひ詳細をご覧ください。
HTMLやPHPにはこちらの教材本がおすすめです!
リンクに値を埋め込む
例えばリンク先のページをhoge.phpとしましょう。
このリンク先に”10”を渡したいとします。
やり方では2つあるので順番に説明していきます。
パターン1
%5b%5dで渡す
%5b%5dってなに?と思うかもしれませんが [ ] の事です。
これをPHPが変換して読んでくれます。
これを利用して、リンクに直接この”10”を書き込むことで渡すことができます。
実際には下記の様に記述することで”10”を渡してくれます。
<a href="hoge.php?data%5B%5D=10>リンク</a>
ファイル名に続いて、” ?data%5b%5d= ”と書きます。
さらに続けて渡したい値を書くだけです。
”data”が変数の名前になります。
変数とは、受け取りの時に指定する名前になります。
数字が入っている入れ物の名前なんだな~と思って下さい。
こんな状態をイメージして下さい。
次に同時に複数の値を渡す方法です。
”10”と一緒に”50”も渡してみます。
<a href="hoge.php?data%5B%5D=10&data%5B%5D=50">リンク</a>
この様に続けて書く事で、一緒に渡すことが可能です。
今度はこの様なイメージですね。
受け取り
リンク先のhoge.phpに下記のコードを記載するだけで受け取れます。
受け取りの感覚はとしては、PHPのSESSIONと似ています。
ここでは、SESSIONを知らなくても問題ありません!
<?php
$data=$_GET["data"];
echo $data[0]; //10
echo $data[1]; //50
?>
受け取り側は、”$_GET”の変数を使う事で受け取れます。
ここでは、2つの値を受け取る場合を紹介します。
$data=$_GET["data"];
これは、$__GET[“data”]で前のページから変数を受け取ります。
受け取ったものは、$dataに格納します。
出力する時は、$data[0]の様に格納した順番を指定することで取り出すことが出来ます。
格納した順番で0,1,2…と言う様に指定できます。
プログラムの世界では、始まりが0なのが特徴です。
実はこの様に入れ物には順番が付いていたということですね。
パターン2
もっとシンプルに直接受け渡す
こちらはかなり簡単に値を渡すことが出来る方法です。
<a href="hoge.php?10>リンク</a>
直接、ファイル名に続いて”?”を挟んでから受け渡したい値をいれるだけです。
複数渡したい場合は、カンマで区切って続けて書きましょう。
<a href="hoge.php?10,50>リンク</a>
受け取り
こちらは渡す方はシンプルでしたが、受け取りが一手間入ります。
explode関数を使ってカンマで区切り、順番に配列に格納してあげる必要があります。
$_SERVER[‘QUERY_STRING’]は、URLの”?”の後に付けられた文字列を取得できます。
$data= explode(",",$_SERVER['QUERY_STRING']);
echo $data[0]; //10
echo $data[1]; //50
好きな方を使いましょう
上記で紹介した方法、どちらも”10”と”50”を受け渡ししています。
仕組みを見ると難しく見えますが、両方ともコピペで使えるものになっています。
この方法を使うとHTMLのhrefをつかって、値を引き渡すことができますのでぜひ試してみてください。
SESSIONを使って渡す方法はこちらを参考に。
おすすめの教材本
HTMLやPHPの学習にこちらの本がおすすめです。
一冊持っておいて損はありません。
本での学習のコツは、すべてを見ようとしないこと。
辞書と同じでわからない所を調べたり、実現したい所を真似したりするとかなり効果的です!
プログラミング中、誰かへ相談したいことはありませんか?
プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。
そんな悩みを解決できるのがオンラインプログラミング学習サービス(侍エンジニア)です。
月額2,980円から学べて、現役エンジニアとオンラインで相談できるほか、
回答率100%のQA掲示版でプログラミングに関する悩みを解決します!
公式サイトからご入会いただくと、お得な割引クーポンを利用できるので、気になる方はぜひ詳細をご覧ください。