Windowsの場合はC:¥xampp¥htdocs
、Macの場合は/Applications/XAMPP/xamppfiles/htdocs/
にいき、helloworld
というフォルダを作りましょう。
PHPファイルには.php
という拡張子を付けます。今回はindex.php
というファイルをhelloworld
フォルダに作成しましょう。
PHPでは<?php
と?>
の間にプログラムを記述します。今回はprint
という文字列を表示する関数を使ってPHPを動かしてみます。以下のプログラムを書いてください。
<?php
print "Hello World!";
?>
XAMPPを起動してhttp://localhost/helloworld/index.phpにアクセスしてみましょう。Hello World!と画面に表示されると思います。これがPHPの基本的な書き方です。
ただし、PHPコードのみのファイルでは終了タグ?>
は省略してください。終了タグがあると、ファイルの最後に空白があった場合に出力されてしまうという問題があるので、それを防ぐために省略します。
HTML文の中にPHPのコードを埋め込むことができます。同じくindex.php
に以下のコードを書いてみましょう。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>hello</title>
</head>
<body>
<h1><?php print "Hello World"; ?></h1>
<p>hogehoge</p>
</body>
</html>
Hello Worldが大きい文字で表示されましたね。このようにPHPはHTML文中に埋め込むことができます(ただし拡張子は.php
のものに限る)。
PHPの変数は$
をつけて宣言します。index.php
の中身を消して以下のプログラムを書いてみましょう。
<?php
$foo = "Hello World";
print $foo . "!!";
.
は文字列の結合演算子です。"Hello World!!"と表示されますね。
<?php
$a = 10;
$b = 21;
print $a + $b;
数値も同様に宣言します。四則演算もできます。
PHPにおけるif文の書き方は2通りあります。動作確認したい人は一緒に書いてみてください(動作確認をする場合は$a
と$b
を宣言してください)。
<?php
if ($a > $b) {
print "aのほうが大きい";
} elseif ($a == $b) {
print "aとbが同じ";
} else {
print "それ以外";
}
ここで注意されたいのが、else if
ではなくelseif
であることです。else if
も一部条件下では使えますが、使えない場面もあるのでelseif
で覚えましょう。
<?php if ($a > $b): ?>
<p>$aのほうが大きい</p>
<?php elseif ($a == $b): ?>
<p>$aと$bが同じ</p>
<?php else: ?>
<p>それ以外</p>
<?php endif; ?>
HTML文中にif文を挿入したい場合はコロンを使ったif文のほうがすっきり書けると思います。
if文同様、2つの書き方があります。
<?php
for ($i = 0; $i < 10; $i++) {
print $i;
}
<?php for ($i = 1; $i < 10; $i++): ?>
<p>こんにちは</p>
<?php endfor; ?>
if文同様に、HTMLの中でfor文を回したい場合はコロンをつかって書くと良いです。
フォームの情報をサーバーに送信したり、次のページへ情報を受け渡す方法として、「GET」と「POST」があります。ここでは、「POST」メソッドにける値の受け渡しを解説します。
まずは送信フォームを作成します。index.php
に書いてみましょう。
<form action="./dest.php" method="POST">
<p>名前</p>
<input type="text" name="username">
<p>コメント</p>
<textarea name="comment"></textarea>
<input type="submit" value="送信">
</form>
ここでのキーポイントは、form
タグのaction
、method
属性、それからinput
やtextarea
のname
属性です。
-
form
タグのmethod
属性には、GETもしくはPOSTを指定します。今回はPOSTを指定します。 -
form
タグのaction
属性は、データを送信する送信先を指定します。今回の場合、同じディレクトリにあるdest.php
を指定していますね。これは後で作成します。 -
input
やtextarea
のname
属性は、送信されるデータに名前をつけます。今回の場合、input
タグにはusername
という名前をつけていて、プログラム側でusername
という名前で参照することができます。
まとめると、「POST
メソッドを使って、dest.php
にデータを渡す。渡すデータはusername
とcomment
です。」という感じ。
先ほど送信先をdest.php
にしたのでこれを作成しましょう。
先ほど作成したフォームから送信ボタンを押すとこのdest.php
にデータが送信されます。dest.php
ではデータを受け取る処理をPHPで書くことで送信された情報を扱えます。受け取るには$_POST[nameで指定した名前]
のように行います。例を示します。
<?php
$username = $_POST['username'];
print $username;
フォームから送信されたusername
を受け取り、変数に代入した後、それを表示するプログラムです。動作確認してみてください。
このようにしてデータを受け取り、データベースにデータを入れたり、メールを送信したりなど、PHPで処理を書いていきます。