More Related Content
Similar to System1 for h (20)
System1 for h
- 1. 1
Copyright (c) 株式会社HEART QUAKE All rights reserved .
PHPとデータベースの連携
これまで学習してきたHTML,PHP,データベースを連動させて
⼊入⼒力力欄から⼊入⼒力力されたデータをPHPを介してデータベースに
登録していきましょう。
- 2. 2
Copyright (c) 株式会社HEART QUAKE All rights reserved .
処理理の流流れ
情報を⼊入⼒力力する1 2 3
HTML
HTMLから情報をもらう
&SQLを実⾏行行する
情報を登録する
PHP SQL
- 3. 3
Copyright (c) 株式会社HEART QUAKE All rights reserved .
処理理の流流れ
情報を⼊入⼒力力する1 2 3
HTML
HTMLから情報をもらう
&SQLを実⾏行行する
情報を登録する
PHP SQL
- 4. 4
Copyright (c) 株式会社HEART QUAKE All rights reserved .
HTMLとPHPの連携(1/5)
l ゴールイメージ
- ⼊入⼒力力されたメールアドレスへメールを送信するような
アプリケーションを作ってみましょう。
⼊入⼒力力画⾯面 完了了画⾯面
「送信」ボタンを押したら
完了了画⾯面にリンクする
HTML
復復習
- 5. 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. 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. 7
Copyright (c) 株式会社HEART QUAKE All rights reserved .
処理理の流流れ
情報を⼊入⼒力力する1 2 3
HTML
HTMLから情報をもらう
&SQLを実⾏行行する
情報を登録する
PHP SQL
- 8. 8
Copyright (c) 株式会社HEART QUAKE All rights reserved .
まずはイメージで捉えましょう!
l phpMyAdminでSQLを実⾏行行したプロセスを3つに分解
l STEP① まずはログインして、データベースを選択
l STEP② 次に実⾏行行したいSQLを記述
l STEP③ 最後に実⾏行行ボタンを押す
このステップをプログラムに変換します!
- 9. 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. 10
Copyright (c) 株式会社HEART QUAKE All rights reserved .
STEP② 次に実⾏行行したいSQLを記述
l SQLを試そう
- 製品名:バスオイル、単価:12000を追加するSQLを書こう!
- 製品名は数値ではなく、⽂文字なので、
ü 前後にシングルクォーテーションが必要
エラーがでなければ
OK!
- 11. 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. 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!
- 14. 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. 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から受け取ったデータに
置き換えていく。