PHPを学ぼう!

▼PHPを学ぶチャプターです。

 

 

 

quetion

 

素材メニュー

 ◆Chapter 1

 ◆Chapter 2

 ◆Chapter 3

 ◆Chapter 4

 

制作ヒント

 ◆制作のヒント

 

レッスンメニュー

 ◆Chapter2 練習問題

 ◆Chapter3 DB練習問題

 

サイト運営者がPHPを学んだ
お勧めの書籍です!
これ一冊で基本的なPHPの仕組み、簡単なプログラムの作成、SQLiteを使ったデータベースなどかなり学べる要素が詰まっています!

↓↓↓ ↓↓↓

PHPレッスンブック―PHP5対応

中古価格
¥1から
(2018/7/21 10:07時点)

 

 

サイバーテロの技法について書かれた書籍です!
ハッカーの手法を知ることでご自身のサイトがハッカーに攻撃されたときそれを防ぐ手法を紹介しています。

↓↓↓ ↓↓↓

PHPサイバーテロの技法―攻撃と防御の実際

中古価格
¥525から
(2018/7/21 10:09時点)

 

 

当サイトはロリポップを利用しています。
高機能ながら安価な料金で利用できるのでお勧めです。

↓↓↓ ↓↓↓

 

 

ドメインを取るならここ!
69円~独自ドメインが取れます。

↓↓↓ ↓↓↓

おサルさんでもわかる?ホームページ作り! | htmlタグ辞典+css



◆Chapter 2 - GETとPOST

パラメーターの受け渡し方法に " GET " と " POST " があります。
" GET " と " POST " 、ホームページ制作を経験したことがあるなら、一度は聞いたことがあるでしょう。
form タグを利用する時に method の指定で使います。
ブラウザーの URL の欄で以下のようなものを見たことはありますね。

アドレスバーサンプル

2018年7月17日現在は、"http://tag-dig.ex-mode.net" は、"https://tag-dig.ooedo21.com" に移設しています。

 

検索エンジンを利用すると、 URL の最後に何やら記号付きの URL になります。

アドレスをよく見ると、" ? " マークの後に文字がついてますね。
これがパラメーターなのです。
上記のアドレスでは、" p=4 " と " n=13 " の値が付けられています。
" GET " の場合は、このようにパラメーターが確認できるのです。

 

" GET " の場合は、以下の場合に使われます。

  • フォームの method に " get " を指定した場合
  • パラメーターを含むリンクをクリックした場合
  • パラメーターを含む URL を直接入力した場合

 

フォームの method に " get " を指定した場合、そこで入力された値がパラメーターとして送信され URL の後に付加されます。
パラメーターを含むリンクをクリックした場合、そこに含んでいるパラメーターの情報をそのまま送信します。
パラメーターを含む URL を直接入力した場合、意図するパラメーターを含むことで情報を送信することができます。

といっても、よく理解できないでしょうから、サンプルを使って実際に動かしてみましょう。

 

次のフォームを使って " GET " でパラメーターを送信してみます。
名前と年齢を入力して送信ボタンを押してください。
年齢は半角数字を使います。

<form action="./sample/sample2_9.php" method="get">
お名前:<input type="text" name="name" maxlength="8" size="12">
年齢<input type="text" name="age" size="4" maxlength="2">
<input type="submit" value="送信">
</form>

このコードを表示すると、次のとおりになります。
実際に動作しますので試してみてください。

お名前: 年齢

 

パラメーターを含むリンクとは、下記のようなリンクです。

<a href="./sample/sample2_9a.php?name=naomi&age=17">リンク</a>

このリンクを表示すると、次のとおりになります。

リンク

クリックすると先ほどのフォーム同様に動作しているのがわかりましたね。

アドレスバーに直接、 " ./sample/sample2_9a.php?name=nomi&age=17 " と入力しても同じ結果を出します。

"GET" は、簡単にパラメーターが渡せるのです。

 

ただし、" GET " では注意しなければならない点があります。

  • パラメーターとして受け渡す文字数に制限がある
  • パラメーターで渡した値は可視化される

可視化されるということは、アドレスバーで直接パラメーターを改編することができるということです。
悪意を持ってパラメーターで情報を得ようと、適当な値を入れてみたりする人もいます。
基本的には、" GET " では改編されてもよい(見られてもよい)値を利用するようにしましょう。

 

ちなみ、「初心者向 PHPを学ぼう!」では指定されたパラーメーター以外は、エラーページを表示するようにしています。
試しに、このページのアドレスに表示されている " n=chap2_8 " のパラメーター値を " n=chap2_100 " に変更してみてください。
存在するページなら該当のページを表示し、存在しないページならエラーページを表示させています。

 

" POST " の場合は、以下の場合に使われます。

  • フォームの method に " POST " を指定した場合

 

" POST " は、" GET " のように気軽に使うことができません。
form タグを利用する時に method で " post " を指定することで利用します。
送信されたパラメーターは、アドレスバーに表示されることもなく、隠匿性があります。
設置するパラメーター数に制限もありません。
SSL などを併用して使うとより強固なセキュリティが構築できます。

 

先ほど利用した " get " の送信フォームを " post " に変更し動作確認をしてみましょう。
修正点は、 method の値だけです。

<form action="./sample/sample2_9.php" method="post">
お名前:<input type="text" name="name" maxlength="8" size="12">
年齢<input type="text" name="age" size="4" maxlength="2">
<input type="submit" value="送信">
</form>

このフォームを表示すると、次のとおりになります。
当然のことながら、見た目は変わりません。

お名前: 年齢

 

実行した後、アドレスバーを確認してみてください。
" GET " のようにパラメーターが付いていないのがわかりますね。

 

" GET " と " POST " は一長一短です。
どちらを使うかは、特性を考えた上で利用しましょう。

 

form から送信された name 属性の値は、 name 属性で付けた名前でパラメーター値と共に引き渡せます。
パラメーターを受け取るページが " GET " なら、

$_GET['name'];

" POST " なら、

$_POST['name'];

で値を受け取ることができるのです。

age の値なら次のとおりとなります。

$_GET['age']; $_POST['age'];

 

" GET " と " POST " は、スーパーグローバル変数と呼ばれる種類になります。

 

【追記 : 2014/1/21】

GET で送信する際の文字をデコードすることができます。
詳しくは、ツールEXの『 URLエンコード&デコード 』を参照ください。

 

【追記 : 2014/2/21】

GET でパラメーターを渡す場合に "#" (シャープ)を含むことができません。
これはブラウザが意図的に "#" の箇所で中断する使用による現象とのことです。 文字色や背景色などで RGB カラーの値を与えたい場合には、 "#" を使わずカラーネームで対処する必要があります。

 

POST と GET の値を得るのに PHP ではでグローバル変数の $_REQUEST が使えます。
$_REQUEST を使うことでプログラム上、POST と GET を区別することなく利用できます。

 

 

練習問題

 


 

 

 

 

 

SSLに対応していません。

 


 

 


 

【関連サイト・リンク】

PHPを学ぼう! htmlタグ辞典+css おサルさんでもわかる? ホームページ作り! パワーポイントでYouTube動画を作る! 準備中 準備中 準備中

▲UP

Copyright (C) Ooedo21.com 2018. All Rights Reserved.

+