Skip to content

Latest commit

 

History

History
166 lines (115 loc) · 5.78 KB

php.md

File metadata and controls

166 lines (115 loc) · 5.78 KB

はじめてのPHP

0. 準備

Windowsの場合はC:¥xampp¥htdocs、Macの場合は/Applications/XAMPP/xamppfiles/htdocs/ にいき、helloworldというフォルダを作りましょう。

1. はじめてのPHP

PHPファイルには.phpという拡張子を付けます。今回はindex.phpというファイルをhelloworldフォルダに作成しましょう。

Hello World

PHPでは<?php?>の間にプログラムを記述します。今回はprintという文字列を表示する関数を使ってPHPを動かしてみます。以下のプログラムを書いてください。

<?php
  print "Hello World!";
?>

XAMPPを起動してhttp://localhost/helloworld/index.phpにアクセスしてみましょう。Hello World!と画面に表示されると思います。これがPHPの基本的な書き方です。

ただし、PHPコードのみのファイルでは終了タグ?>省略してください。終了タグがあると、ファイルの最後に空白があった場合に出力されてしまうという問題があるので、それを防ぐために省略します。

2. HTMLと組み合わせる

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のものに限る)。

3. 変数を使ってみよう

PHPの変数は$をつけて宣言します。index.phpの中身を消して以下のプログラムを書いてみましょう。

<?php
  $foo = "Hello World";
  print $foo . "!!";

.は文字列の結合演算子です。"Hello World!!"と表示されますね。

<?php
  $a = 10;
  $b = 21;
  print $a + $b;

数値も同様に宣言します。四則演算もできます。

4. if文で条件分岐する

PHPにおけるif文の書き方は2通りあります。動作確認したい人は一緒に書いてみてください(動作確認をする場合は$a$bを宣言してください)。

波括弧を使ったif文

<?php
  if ($a > $b) {
    print "aのほうが大きい";
  } elseif ($a == $b) {
    print "aとbが同じ";
  } else {
    print "それ以外";
  }

ここで注意されたいのが、else ifではなくelseifであることです。else ifも一部条件下では使えますが、使えない場面もあるのでelseifで覚えましょう。

コロンを使ったif文

<?php if ($a > $b): ?>
  <p>$aのほうが大きい</p>
<?php elseif ($a == $b): ?>
  <p>$aと$bが同じ</p>
<?php else: ?>
  <p>それ以外</p>
<?php endif; ?>

HTML文中にif文を挿入したい場合はコロンを使ったif文のほうがすっきり書けると思います。

5. for文で繰り返し

if文同様、2つの書き方があります。

波括弧を使ったfor文

<?php
  for ($i = 0; $i < 10; $i++) {
    print $i;
  }

コロンを使ったfor文

<?php for ($i = 1; $i < 10; $i++): ?>
  <p>こんにちは</p>
<?php endfor; ?>

if文同様に、HTMLの中でfor文を回したい場合はコロンをつかって書くと良いです。

6. データの受け渡し(POST)

フォームの情報をサーバーに送信したり、次のページへ情報を受け渡す方法として、「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タグのactionmethod属性、それからinputtextareaname属性です。

  • formタグのmethod属性には、GETもしくはPOSTを指定します。今回はPOSTを指定します。

  • formタグのaction属性は、データを送信する送信先を指定します。今回の場合、同じディレクトリにあるdest.phpを指定していますね。これは後で作成します。

  • inputtextareaname属性は、送信されるデータに名前をつけます。今回の場合、inputタグにはusernameという名前をつけていて、プログラム側でusernameという名前で参照することができます。

まとめると、「POSTメソッドを使って、dest.phpにデータを渡す。渡すデータはusernamecommentです。」という感じ。

データの受信

先ほど送信先をdest.phpにしたのでこれを作成しましょう。

先ほど作成したフォームから送信ボタンを押すとこのdest.phpにデータが送信されます。dest.phpではデータを受け取る処理をPHPで書くことで送信された情報を扱えます。受け取るには$_POST[nameで指定した名前]のように行います。例を示します。

<?php
  $username = $_POST['username'];
  print $username;

フォームから送信されたusernameを受け取り、変数に代入した後、それを表示するプログラムです。動作確認してみてください。

このようにしてデータを受け取り、データベースにデータを入れたり、メールを送信したりなど、PHPで処理を書いていきます。