ホーム

スタッフブログ

2015年6月8日

PHP初心者講座その②

こんにちは。Aです。

今日は先週に引き続き、PHP初心者講座の第2弾。
文字を書くだけでは面白くないので、入力した内容を表示させてみようって話でした。

では早速。

テキストボックスに入力した文字を表示させる

画像で紹介するとこんなこんな感じ。

blog_abe41

blog_abe51

適当に文字を入力して”送信する”ボタンを押すと
その下の「」内に入力した文字が表示されるようなプログラム。

ソースコードで紹介するとこんな感じ。

blog_abe61

冒頭のでこれがHTML文書であることの指定をして。
にはその文書の情報を書いて。
そしてタグ内に記述する内容を書いていくわけですが…

“冒頭のでこれがHTML文書であることの指定”って所。
今回はhtml文書内にphpを埋め込む形をとっているのでそう書いています。

ではこのプログラムの核の部分を見ていきましょう。

“form”で入力フォームを作る

さて。ソースコード上の①

<form method=”post”>の部分。
このタグは送信フォームを作りますよっていう宣言でして。

method=”post”, action =””の部分はそれぞれフォームの持つ属性。
method=””はデータの送信方法を。
action=””ではデータの送り先をそれぞれ記述しています。

phpには最初からいくつか変数が定義されているのですが、そのうちのひとつの
“$_POST”変数には一時的に入力内容を保存することが出来ます。

入力内容が保存された”$_POST”はaction=””で指定された送り先に送られるわけですが、
その$_POSTに入力内容を一時的に保存するメソッド(方法)がmethod=”post”なわけです。

で。今回は”1.php”内で処理を完結させるのでaction=””と、何も書いていません。
例えば”2.php”にデータを送信したいとなったときはaction=”2.php”って感じ。

で。②の<input name=”naiyou” type=”text” />の部分。
入力フォームの部品にあたるところですが、そのタイプは様々。
ユーザーに入力させたい情報を取り扱う上で最適なフォーム部品を選択出来るわけです。
今回は文字を入力したかったので”text”=”テキストボックス”を選択しました。

name=”naiyou”の部分は、入力された内容に関する属性を記述しています。
テキストボックスがいくつもあるような場面では
name=””属性でそれぞれの入力内容を差別化しないと、ごちゃごちゃしますし。

例えば”名前”・”住所”・”年齢”をそれぞれ入力してほしいときには
<input name=”onamae” type=”text” />
<input name=”address” type=”text” />
<input name=”age” type=”text” />って感じで属性付けをするわけです。

そして最後の<input type=”submit” value=”表示する” />の部分では送信ボタンを。
submitは”提出する”って意味で、valueにはボタン内部に表示される文字です。

文字で説明すると長ったらしいですけどソースコード的にはわずか4行。
この4行の記述が、入力された内容を送信しているわけです。

じゃあ、送信された内容を受け取りましょう!

入力された内容を受け取る

さて。先に紹介した
タグ中で入力された内容は action=””によって1.phpに帰ってきました。
今度はその内容を受け取ってみます。
と言っても、既に受け取られてるんですよね。さっきの$_POST変数で。

この場合、$_POST[‘naiyou’]に入力された内容が入っていますので、
後はこれを出力(echo)してあげるだけ。’naiyou’っていうのはさっきのname=””属性ですね。

で一件落着しそうなんですけど、echo @$_POST[‘naiyou’]の”@”って何って話に。

エラー制御演算子

ずばりそれはエラー制御演算子。エラーの表示をさせないようにしてます。
この18行だけだと、初回アクセス時にエラーが出てしまうんです。
初回にアクセスした段階では、$_POST[‘naiyou’]を出力しようにも、$_POST[‘naiyou’]に入力内容が入ってない。
そういう矛盾に対してPHPはエラーを吐くのですが、ここでは無理やり口を封じてます。

それでは少し芸が無いので、次回は”if”を使ってみてこのエラーを解決してみます。
なんだかプログラミングらしくなってきました。では。

求人バナー

このページの上部へ戻る