1	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
PHPとデータベースの連携
これまで学習してきたHTML,PHP,データベースを連動させて
⼊入⼒力力欄から⼊入⼒力力されたデータをPHPを介してデータベースに
登録していきましょう。
2	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
処理理の流流れ
情報を⼊入⼒力力する1 2 3
HTML
HTMLから情報をもらう
&SQLを実⾏行行する
情報を登録する
PHP SQL
3	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
処理理の流流れ
情報を⼊入⼒力力する1 2 3
HTML
HTMLから情報をもらう
&SQLを実⾏行行する
情報を登録する
PHP SQL
4	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
HTMLとPHPの連携(1/5)
l  ゴールイメージ
-  ⼊入⼒力力されたメールアドレスへメールを送信するような    
アプリケーションを作ってみましょう。
⼊入⼒力力画⾯面 完了了画⾯面
「送信」ボタンを押したら
完了了画⾯面にリンクする
HTML
復復習
5	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
HTMLとPHPの連携(2/5)
l  ⼊入⼒力力されたメールアドレスにメールを送ろう!
-  まずはメールアドレスの⼊入⼒力力欄を表⽰示する
<html>
<head>
<meta charset="utf-8">
<title>メール送信</title>
</head>
<body>
メールアドレスを入力して下さい。
<form action=”send_mail.php” method=”GET”>	
 
<input type="text” name="email"><br>
<input type=”submit” value=”メール送信”>
</form>
</body></html>
HTMLからPHPにデータを渡す時は
formタグを⽤用いる。
actionに次に実⾏行行したいPHPファイル名
methodにはGET、またはPOSTと書く
JavaScriptの時はID指定だった
が、PHPへはname指定で渡す
HTML
復復習
6	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
HTMLとPHPの連携(3/5)
l  ⼊入⼒力力されたメールアドレスにメールを送ろう!
-  ⼊入⼒力力されたアドレスを受けとってメールを送る
<?php
mb_language("japanese");
mb_internal_encoding("utf8");
mb_send_mail(
$_GET["email"],
"you got mail",
"from PHP",
"From:info@heart-quake.com”
);
?>
mb_send_mailは
宛先 , 件名 , 本⽂文 , 差出⼈人
の順番で記述する
※詳しくはPHPの資料料参照
$_GET[”HTMLでつけたタグ名”]
※GETは⼤大⽂文字!
と書くことでHTMLからデータを受け取る
ことができる。
$_GET[”email”]にはHTMLで⼊入⼒力力された
メールアドレスが⼊入っている
復復習
7	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
処理理の流流れ
情報を⼊入⼒力力する1 2 3
HTML
HTMLから情報をもらう
&SQLを実⾏行行する
情報を登録する
PHP SQL
8	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
まずはイメージで捉えましょう!
l  phpMyAdminでSQLを実⾏行行したプロセスを3つに分解
l  STEP① まずはログインして、データベースを選択
l  STEP② 次に実⾏行行したいSQLを記述
l  STEP③ 最後に実⾏行行ボタンを押す
このステップをプログラムに変換します!
9	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
STEP①  ログインしてデータベースに接続
<?php
//まず、プログラムとデータベースとを接続
//サーバー名、ユーザー名、パスワードの順番で書いてあります
$connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”);
//insert時の⽇日本語⽂文字化けを回避する
mysql_query(”SET NAMES utf8”,$connect);
/*
ここに続きを書いていきます。
*/
//最後にDBへの接続を切切断
mysql_close($connect);
?>
10	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
STEP②  次に実⾏行行したいSQLを記述
l  SQLを試そう
-  製品名:バスオイル、単価:12000を追加するSQLを書こう!
-  製品名は数値ではなく、⽂文字なので、
ü 前後にシングルクォーテーションが必要
エラーがでなければ
OK!
11	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
STEP②  次に実⾏行行したいSQLを記述
<?php
$connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”);
mysql_query(”SET NAMES utf8”,$connect);
/*
まずは先ほどうまくいったINSERT⽂文をPHPでechoしてみる。
ここではまだデータベースに追加されない。
*/
echo ”insert product_tbl(product_name,price)
values(’バスタオル’,12000)”;
mysql_close($connect);
?>
12	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
プログラムの変更更
<?php
$connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”);
mysql_query(”SET NAMES utf8”,$connect);
/*
構⽂文  mysql_db_query(DBデータベース名,実⾏行行したいSQL)
これでPHPからSQLを実⾏行行できる
*/
mysql_db_query(”DBデータベース名”,”insert product_tbl(product_name,
price) values(’バスオイル’ , 12000)” );
mysql_close($connect);
?>
マイフォルダから実⾏行行して
バスオイルがもう1件追加
されていればOK!
13	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
処理理の流流れ
情報を⼊入⼒力力する1 2 3
HTML
HTMLから情報をもらう
&SQLを実⾏行行する
情報を登録する
PHP SQL
14	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
STEP③  実⾏行行ボタンを押す
<?php
$connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”);
mysql_query(”SET NAMES utf8”,$connect);
/*
構⽂文  mysql_db_query(DBデータベース名,実⾏行行したいSQL)
これでPHPからSQLを実⾏行行できる
*/
mysql_db_query(”DBデータベース名”,”insert product_tbl(product_name,
price) values(’バスオイル’ , 12000)” );
mysql_close($connect);
?>
ユーザーがHTMLで
何を⼊入⼒力力しても
バスオイル、12000が
データベースにINSERTされる
15	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
STEP③  実⾏行行ボタンを押す
<?php
$connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”);
mysql_query(”SET NAMES utf8”,$connect);
/*
実際に登録するデータをHTMLからもらったデータとする
*/
mysql_db_query(”DBデータベース名”,”insert product_tbl(product_name,price)
values(’{$_GET[’product_name’]}’ , {$_GET[’price’]})” );
mysql_close($connect);
?>
バスオイル、12000の部分を
HTMLから受け取ったデータに
置き換えていく。
16	
Copyright (c) 株式会社HEART QUAKE All rights reserved .	
お疲れ様でした!!

System1 for h

  • 1.
    1 Copyright (c) 株式会社HEARTQUAKE All rights reserved . PHPとデータベースの連携 これまで学習してきたHTML,PHP,データベースを連動させて ⼊入⼒力力欄から⼊入⼒力力されたデータをPHPを介してデータベースに 登録していきましょう。
  • 2.
    2 Copyright (c) 株式会社HEARTQUAKE All rights reserved . 処理理の流流れ 情報を⼊入⼒力力する1 2 3 HTML HTMLから情報をもらう &SQLを実⾏行行する 情報を登録する PHP SQL
  • 3.
    3 Copyright (c) 株式会社HEARTQUAKE All rights reserved . 処理理の流流れ 情報を⼊入⼒力力する1 2 3 HTML HTMLから情報をもらう &SQLを実⾏行行する 情報を登録する PHP SQL
  • 4.
    4 Copyright (c) 株式会社HEARTQUAKE All rights reserved . HTMLとPHPの連携(1/5) l  ゴールイメージ -  ⼊入⼒力力されたメールアドレスへメールを送信するような     アプリケーションを作ってみましょう。 ⼊入⼒力力画⾯面 完了了画⾯面 「送信」ボタンを押したら 完了了画⾯面にリンクする HTML 復復習
  • 5.
    5 Copyright (c) 株式会社HEARTQUAKE All rights reserved . HTMLとPHPの連携(2/5) l  ⼊入⼒力力されたメールアドレスにメールを送ろう! -  まずはメールアドレスの⼊入⼒力力欄を表⽰示する <html> <head> <meta charset="utf-8"> <title>メール送信</title> </head> <body> メールアドレスを入力して下さい。 <form action=”send_mail.php” method=”GET”> <input type="text” name="email"><br> <input type=”submit” value=”メール送信”> </form> </body></html> HTMLからPHPにデータを渡す時は formタグを⽤用いる。 actionに次に実⾏行行したいPHPファイル名 methodにはGET、またはPOSTと書く JavaScriptの時はID指定だった が、PHPへはname指定で渡す HTML 復復習
  • 6.
    6 Copyright (c) 株式会社HEARTQUAKE All rights reserved . HTMLとPHPの連携(3/5) l  ⼊入⼒力力されたメールアドレスにメールを送ろう! -  ⼊入⼒力力されたアドレスを受けとってメールを送る <?php mb_language("japanese"); mb_internal_encoding("utf8"); mb_send_mail( $_GET["email"], "you got mail", "from PHP", "From:info@heart-quake.com” ); ?> mb_send_mailは 宛先 , 件名 , 本⽂文 , 差出⼈人 の順番で記述する ※詳しくはPHPの資料料参照 $_GET[”HTMLでつけたタグ名”] ※GETは⼤大⽂文字! と書くことでHTMLからデータを受け取る ことができる。 $_GET[”email”]にはHTMLで⼊入⼒力力された メールアドレスが⼊入っている 復復習
  • 7.
    7 Copyright (c) 株式会社HEARTQUAKE All rights reserved . 処理理の流流れ 情報を⼊入⼒力力する1 2 3 HTML HTMLから情報をもらう &SQLを実⾏行行する 情報を登録する PHP SQL
  • 8.
    8 Copyright (c) 株式会社HEARTQUAKE All rights reserved . まずはイメージで捉えましょう! l  phpMyAdminでSQLを実⾏行行したプロセスを3つに分解 l  STEP① まずはログインして、データベースを選択 l  STEP② 次に実⾏行行したいSQLを記述 l  STEP③ 最後に実⾏行行ボタンを押す このステップをプログラムに変換します!
  • 9.
    9 Copyright (c) 株式会社HEARTQUAKE All rights reserved . STEP①  ログインしてデータベースに接続 <?php //まず、プログラムとデータベースとを接続 //サーバー名、ユーザー名、パスワードの順番で書いてあります $connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”); //insert時の⽇日本語⽂文字化けを回避する mysql_query(”SET NAMES utf8”,$connect); /* ここに続きを書いていきます。 */ //最後にDBへの接続を切切断 mysql_close($connect); ?>
  • 10.
    10 Copyright (c) 株式会社HEARTQUAKE All rights reserved . STEP②  次に実⾏行行したいSQLを記述 l  SQLを試そう -  製品名:バスオイル、単価:12000を追加するSQLを書こう! -  製品名は数値ではなく、⽂文字なので、 ü 前後にシングルクォーテーションが必要 エラーがでなければ OK!
  • 11.
    11 Copyright (c) 株式会社HEARTQUAKE All rights reserved . STEP②  次に実⾏行行したいSQLを記述 <?php $connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”); mysql_query(”SET NAMES utf8”,$connect); /* まずは先ほどうまくいったINSERT⽂文をPHPでechoしてみる。 ここではまだデータベースに追加されない。 */ echo ”insert product_tbl(product_name,price) values(’バスタオル’,12000)”; mysql_close($connect); ?>
  • 12.
    12 Copyright (c) 株式会社HEARTQUAKE All rights reserved . プログラムの変更更 <?php $connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”); mysql_query(”SET NAMES utf8”,$connect); /* 構⽂文  mysql_db_query(DBデータベース名,実⾏行行したいSQL) これでPHPからSQLを実⾏行行できる */ mysql_db_query(”DBデータベース名”,”insert product_tbl(product_name, price) values(’バスオイル’ , 12000)” ); mysql_close($connect); ?> マイフォルダから実⾏行行して バスオイルがもう1件追加 されていればOK!
  • 13.
    13 Copyright (c) 株式会社HEARTQUAKE All rights reserved . 処理理の流流れ 情報を⼊入⼒力力する1 2 3 HTML HTMLから情報をもらう &SQLを実⾏行行する 情報を登録する PHP SQL
  • 14.
    14 Copyright (c) 株式会社HEARTQUAKE All rights reserved . STEP③  実⾏行行ボタンを押す <?php $connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”); mysql_query(”SET NAMES utf8”,$connect); /* 構⽂文  mysql_db_query(DBデータベース名,実⾏行行したいSQL) これでPHPからSQLを実⾏行行できる */ mysql_db_query(”DBデータベース名”,”insert product_tbl(product_name, price) values(’バスオイル’ , 12000)” ); mysql_close($connect); ?> ユーザーがHTMLで 何を⼊入⼒力力しても バスオイル、12000が データベースにINSERTされる
  • 15.
    15 Copyright (c) 株式会社HEARTQUAKE All rights reserved . STEP③  実⾏行行ボタンを押す <?php $connect = mysql_connect(”localhost”,”DBユーザ名”,”DBパスワード”); mysql_query(”SET NAMES utf8”,$connect); /* 実際に登録するデータをHTMLからもらったデータとする */ mysql_db_query(”DBデータベース名”,”insert product_tbl(product_name,price) values(’{$_GET[’product_name’]}’ , {$_GET[’price’]})” ); mysql_close($connect); ?> バスオイル、12000の部分を HTMLから受け取ったデータに 置き換えていく。
  • 16.
    16 Copyright (c) 株式会社HEARTQUAKE All rights reserved . お疲れ様でした!!