PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門
4.5 (206 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,737 students enrolled

PHP+MySQL(MariaDB) Webサーバーサイドプログラミング入門

本格的なWebシステム開発に欠かせない、サーバーサイドプログラミングをPHP+MySQLで学ぼう。
Bestseller
4.5 (206 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,737 students enrolled
Created by Taniguchi Makoto
Last updated 4/2019
Japanese
Current price: $11.99 Original price: $199.99 Discount: 94% off
2 days left at this price!
30-Day Money-Back Guarantee
This course includes
  • 11.5 hours on-demand video
  • 3 articles
  • 1 downloadable resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • PHPの基礎知識とMySQL(MariaDB)の基礎が修得できる
  • SQLの基礎が修得でき、データベースを利用したプログラムを作成できる

  • PHPを利用したプログラムを作成でき、サーバーサイドのWebサービスを開発できる

  • データベースと連携した、Webサービスを開発・カスタマイズできるようになる
Course content
Expand all 83 lectures 11:38:39
+ PHPの開発環境を準備しよう
4 lectures 18:13

PHPをスムーズに学習するためにも、開発環境をしっかり整えておくとよいでしょう。ここでは、エディターソフトに『Visual Studio Code』、ブラウザーソフトに『Google Chrome』をセットアップしていきます

Preview 05:01

Windowsに XAMPPをセットアップし、PHPと MySQL(MariaDB)の動作環境を作ります

Preview 11:17
MAMPをご利用の方へ: MySQLの設定の変更方法
00:02

この後の講座で使う、サンプルファイルを準備していきましょう

Preview 01:53
+ PHPの基本を学ぼう
29 lectures 04:37:30

まずは、PHPの一番基本となるファンクション(関数)である printファンクションを使って、画面に文章を表示しながら、PHPのプログラムを作る基本を学びましょう。

Preview 14:40

プログラムでは、足し算やかけ算などの計算を行うことができます。ここでは、printファンクションと組み合わせて、さまざまな経験結果を画面に表示してみましょう。

算術演算子 - 計算結果を表示する
08:12

printファンクションでは、他のファンクションと組み合わせることで例えば、「現在の時刻」などのその場で実行結果が変化する値も出力できます。ここでは、dateファンクションを組み合わせて使ってみましょう。

画面に現在の時刻を表示する
13:42

計算結果や、ファンクションの実行結果と、通常の文字列を1つの printファンクションで処理するには、「文字列連結」のテクニックを利用します。ここでは、前のレッスンで作った時刻を表示する処理を文字列連結してみましょう。

文字列を連結する
02:58

現在のPHPは、オブジェクト指向が取り入れられているため、従来のファンクションを使った方法に加えて、オブジェクトを利用してプログラムを作成することができます。ここでは、Dateオブジェクトを利用して時刻を表示するプログラムを作成してみましょう。

オブジェクトを使って、時刻を表示する
07:05

計算の結果などを一時的に保管しておく「変数」について学びます。同じ計算式を何度も使いたいときや、その数字がなんなのかを分かりやすくする効果があります。

変数 - 計算結果を保管する
14:28

同じような処理を何度も行いたい場合、「繰り返し構文」が使われます。ここでは、基本的な繰り返し構文である while構文を紹介します

while構文 - 1から365までの数字を表示する①
11:29

繰り返しの構文を使うには、条件を作成します。ここで利用するのが比較演算子です。ここでは、比較演算子の種類とインクリメント・デクリメント。そして、for構文を学びます。

for構文と比較演算子 - 1から365までの数字を表示する②
13:24

dateファンクションは、2つめのパラメーターを指定することで任意の日付を表示することができます。これを利用してカレンダーを作ることができます。ここでは、最初の準備段階を作成しましょう。

1年後までのカレンダーを表示する①
09:37

dateファンクションと strtotimeファンクションを使って、カレンダーを作ってみましょう。また、for...endfor; という繰り返し構文の記述方法も学びます。

1年後までのカレンダーを表示する②
06:41

日・月・火と日本語で曜日を扱いたい場合、PHPでは日本語の曜日には対応していません。そこで、「配列」というしくみを使って、これを解決します。ここでは、そんな配列の使い方を学びます。

配列 - 曜日を日本語で表示する
11:53
連想配列とforeach構文 - 英単語と日本語の対応表を作る
08:42

条件に従って、プログラムを実行したり無視したりする構文を「選択」構文といいます。ここでは、選択構文の代表例である「if / if else」構文を紹介します。

if構文 - 9時よりも前の時間の場合に、警告を表示する
12:45

小数を伴う計算の場合、無限小数など画面表示にできない場合があります。そのようなときに切り上げたりできる便利なファンクションを紹介します。

ceil, floor, round - 小数を整数に切り上げる・切り下げる
06:00

日付の表示などで、桁数を揃えて表示したいことが良くあります。PHPではこんな時に、sprintfファンクションを使って整えることができます。

spirntf - 書式を整える
07:05
file_put_contents - ファイルに内容を書き込む
09:56

テキストファイルなどを読み込むには、file_get_contentsファンクションを利用します。また、画面に直接表示したい場合は、readfileファンクションを利用することもできます。ここでは、外部ファイルの読み込み方法を紹介します。

file_get_contents - ファイルの読み込み
07:54

テキストファイルに比べ、情報を構造化して管理できるファイルがXML(Extensible Markup Language)です。ここでは、XMLを使ったサイト更新通知のしくみであるRSSファイルの読み込むための、simplexml_file_loadファンクションを紹介します。

simplexml_load_file - XMLの情報を読み込む
11:39

XMLに変わって、近年よく利用されているデータ形式が「JSON」です。もともとは、JavaScriptのためのデータ形式ですが、近年では PHPなどのさまざまな言語で利用できるようになりました。ここでは、そんな JSON形式を扱います。

JSONを読み込む
11:50

PHPはHTMLと組み合わせて利用されることが多く、特にフォームとの組み合わせは非常によくあるパターンです。

ここでは、フォーム連携のプログラムを作成するための HTMLを作ります。

フォームに入力した内容を取得する①
09:59
フォームに入力した内容を取得する② GETとPUT
14:39

フォームの送信の中でも、ラジオボタンやチェックボックスなどの場合は、value属性に注意が必要です。ここでは、各パーツについて紹介します。

チェックボックス、ラジオボタン、リストボックス(ドロップダウンリスト)の値を取得する
08:50

フォームパーツの中でも、チェックボックスは複数の値を送信できる特殊なパーツです。ここでは、チェックボックスの受け取り方を紹介します。

複数選択可能なチェックボックス、リストボックスの値を取得する
05:58

ユーザーが、年齢を入力する欄に年齢以外のものを入力したときに、エラーとしてはじくという処理はよくやります。しかし、日本語環境の場合は「数字だが全角」というケースがあり、この時はエラーにするのは忍びないかも知れません。そんな時に使えるテクニックを紹介します。

半角数字に直して、数字であるかをチェックする
06:01

ユーザーからの入力チェックで、郵便番号などが正しいかをチェックするには「正規表現」という技術を利用します。ここでは、正規表現の使い方を紹介します。

郵便番号を正規表現を使ってチェックする
09:38

headerファンクションは、Webブラウザーにさまざまな情報を送信できるファンクションです。ここでは、最も一般的な使い方である、別のページにジャンプする方法を紹介しましょう。

別のページにジャンプする
02:24

剰余算とは、割り算の余りを求める演算子。あまり使い道がなさそうですが、その動きの性格をうまく利用すると面白い効果に使うことができます。ここでは、剰余算の活用方法を紹介します。

剰余算 - 一行ごとにテーブルセルの色を変える
09:57

Webブラウザーに情報を記憶するしくみが「Cookie」です。ここでは、PHPで Cookieに記憶するしくみを作成しましょう

Cookieに値を保存する
10:34

Cookieと並んで、値を保存しておくしくみがセッションです。ここでは、Cookieとセッションの違いや、セッションの扱い方を学びます。

セッションに値を保存する
09:30
+ データベースの基本を学ぼう
15 lectures 01:56:52

PHPで Webシステムを作成するとき、データの保存にはデータベースがよく使われます。ここでは、そんな DBの中でもよく使われる、MySQL(Maria DB)を紹介しましょう。

Preview 11:19

データベースを操作するには、SQLという独自の問い合わせ言語を学ぶ必要があります。とはいえ、それほど難しい言語ではないので、気軽にはじめてみましょう。

SQLを使ってみよう
07:02
テーブルを作るSQL - CREATE
03:28

データは変更したり、削除することもできます。この時、WHERE句を使わないと思わぬデータが変更・削除されてしまいます。ここでは、UPDATE/DELETE構文を使っていきます。

データを変更、削除するSQL - UPDATEとDELETE
05:04

データベースのテーブルには、個別の番号(IDなど)を割り振ることが多いです。これを「プライマリーキー(主キー)」に設定することで、重複を防いだりなどの機能が利用できます。ここでは、プライマリーキーの設定方法を紹介します。

一番大切なカラム、プライマリーキーとオートインクリメント
07:43

新しいデータが挿入されたとき、IDを割り振るのは大変です。そこで、自動的に1ずつ加算した数字を付加してくれる、Auto Incrementを設定しましょう。

自動でIDを採番する Auto Increment
06:31

一度作成したテーブルのカラム構造を変更するのも簡単に行えます。変更方法を紹介しましょう。

テーブルの構造を変更しよう
05:59

MySQLが威力を発揮するのは、大量のデータから必要なデータを検索するときです。ここでは、WHERE構文を使って条件を指定しましょう。

条件を指定しよう - WHERE
09:07

検索したデータは、指定したカラムで並び替えができます。ORDER BY句を紹介しましょう。

ORDER BY - データの並び替えで、ランキングも思いのまま
14:38

SQLにはこの他にも、さまざまな便利な機能があります。ここでは、SUMや MAXなどを紹介します。

COUNT, SUM, MAX, MIN - 計算・集計お手の物
04:52

現代のデータベースは、リレーショナルデータベース(RDB)と呼ばれるデータベースの種類で、複数のテーブルを関連づけるリレーションを設定できます。その方法を紹介しましょう。

データベースの真骨頂、リレーション
13:11

データベースはさらに、複雑な条件を組み合わせて集計することもできます。ここでは、GROUP BY句を使って集計してみましょう。

GROUP BY - 複雑な集計
07:05

リレーションの張り方には、内部結合と外部結合があります。ここでは、一方のテーブルのデータはすべて表示する、外部結合を利用してみましょう。

LEFT JOIN、RIGHT JOIN - 外部結合
05:40

SQLの細かな機能について、ここでは、重複を取り除く DISTINCTや検索の SQLを分かりやすくする BETWEEN、INなどを紹介します。

DISTINCT, BETWEEN, IN, LIMIT - その他の便利なSQL
08:55

データベースのデータは、バックアップを正しく取らないと内容が壊れてしまいます。単にファイルを保存するだけでなく、正しい手順を経なければなりません。ここでは、バックアップとリストアの方法を紹介します。

バックアップとリストア
06:18
+ PHP+MySQL(MariaDB)を組み合わせて、Webシステムを作ろう
14 lectures 01:50:37

PHP+DBのプログラムを作るにあたり、まずはプロジェクトを準備して行きます。

Preview 02:59

PHPから MySQLに接続するには、専用のオブジェクトを利用します。ここでは、PDO(Php Data Object)を利用した接続方法を紹介します。

PDO - MySQLに接続する
09:24

PHPから SQLを実行するには、execメソッドを使います。ここでは、INSERT構文を実行してデータベースにデータを挿入してみましょう。

exec - SQLを実行する
05:45

SQLのうち、SELECT SQLを実行する場合は queryメソッドを利用します。レコードを取得して処理してみましょう。

query - SELECT SQLを実行する
05:46

フォームに入力した情報を送信するには、$_POST変数を使ってSQLを組み立てます。フォームと連携したプログラムを作成してみましょう。

フォームからの情報を保存する①
12:36

フォームに入力した情報を送信するには、$_POST変数を使ってSQLを組み立てます。フォームと連携したプログラムを作成してみましょう。

フォームからの情報を保存する②
06:31

これまで、データの内容を phpMyAdminを使って閲覧していましたが、専用のデザインのページで見られると便利です。ここでは、一覧画面を作成してみましょう。

データの一覧・詳細画面を作る①
10:38

これまで、データの内容を phpMyAdminを使って閲覧していましたが、専用のデザインのページで見られると便利です。ここでは、一覧画面を作成してみましょう。

データの一覧・詳細画面を作る②
10:24

ここまで作成したプログラムは、いずれもデータベースへの接続プログラムがありました。これでは、扱いにくいので共通プログラムにしてみましょう。requireを使って読み込みます。

接続プログラムを共通プログラムにする
04:40

データの一覧は、件数が多くなると表示するのが難しくなってしまいます。そこで、ページを分ける「ページング(ページネーション)」を作成しましょう。

件数の多いレコードを、ページを分ける「ページング(ページネーション)」①
10:50

データの一覧は、件数が多くなると表示するのが難しくなってしまいます。そこで、ページを分ける「ページング(ページネーション)」を作成しましょう。

件数の多いレコードを、ページを分ける「ページング(ページネーション)」②
07:15

データの一覧は、件数が多くなると表示するのが難しくなってしまいます。そこで、ページを分ける「ページング(ページネーション)」を作成しましょう。

件数の多いレコードを、ページを分ける「ページング(ページネーション)」③
05:14

ここでは、既存のデータを編集する編集画面を作成します。

メモを変更する、編集画面
13:19

ここでは、不要なデータを削除する削除画面を作成します。

いらないデータを削除する、削除機能
05:16
+ 「Twitter風ひとこと掲示板」を作成しよう
21 lectures 02:52:02

このセクションでは、Twitter風のメッセージングシステムを開発します。ここでは、全体像を確認しておきましょう。

Preview 00:52

データベースを作成するとき、いきなり作り始めると後で困ることがあります。そこで、先に必要な機能などを洗い出してテーブルを設計し、データベースを作っていきましょう。

データベースを設計・準備しよう
12:01

このサービスでは、会員のログインが必要になります。まずは、会員登録画面を作成してアカウントを作れるようにしましょう。

入会画面を作成しよう
10:27

フォームを作成するときは、入力内容に異常がないかをチェックすることが必要です。ここでは、エラーチェックのしくみを作成します。

エラーチェックをしよう
12:54

フォームを利用するとき、いったん利用者が入力した内容を確認する、確認画面をはさむことが一般的です。ここでは、入会画面の確認画面を作成します。

確認画面を作成しよう
09:11
画像をアップロードできるようにしよう①
11:59
画像をアップロードできるようにしよう②
04:54

ここまでで、入会フォームができあがったのでデータベースに値を保存しましょう。

データベースに保存しよう
10:54

会員登録の際、すでに登録しているのに重複して登録してしまうことがあります。ここでは、重複登録を防ぐしくみを搭載しましょう。

重複登録を防止しよう
07:06

登録した会員情報を使って、ログインのしくみを作成しましょう

ログインのしくみを作ろう①
10:33

続いて、ログインに失敗したときの処理を作成しましょう

ログインのしくみを作ろう②
06:18

次回以降のログインを簡単にするために、ログイン情報を Cookieに保存しておきましょう

ログイン情報を Cookieに保存しよう
06:26

ログインが完了すると、メッセージが投稿できるようになります。ここでは、投稿画面を作成していきます。

メッセージを投稿しよう①
07:03
MySQLの設定変更について
00:01

投稿されたメッセージを、データベースに記録したり一覧画面に表示したりしましょう。

メッセージを投稿しよう②
14:44

このシステムには、他の人のメッセージに返信する機能が搭載されます。ここでは、返信機能を作成しましょう。

返信機能を作ろう
12:27

Webサイトでは、「詳細ページ」がないと検索エンジンにヒットしないなどの弊害があります。ここでは、詳細画面を作成しましょう。

メッセージの詳細画面を作成しよう
10:21

続いて、不要になったメッセージを削除する機能を作成します。削除の前には、正しいユーザーであるかなどをチェックする機能も実装していきましょう。

削除機能を実装しよう
07:57

メッセージの件数が増えてきたら、ページを分けて管理したところ。ここでは、ページネーション機能を作成しましょう。

ページネーションを実装しよう
11:15

最後に、ログアウト機能を実装してプロジェクトを完成させましょう。

Preview 04:34
ボーナスレクチャー
00:04
Requirements
  • PCの基本的な操作、ソフトウェアのインストールなど
  • できれば、HTML/CSSの知識
Description

PHPは、現在のWebシステム開発に使われる、サーバーサイドプログラミング言語の中で最も人気のある言語です。

これを利用すれば、会員登録をしたユーザーに個別のコンテンツを提供したり、ユーザー同士のコミュニティを作成したり、またデータベースと連携してショップサイトや、データの検索サイトなど、さまざまなWebサービス・Webシステムを開発することができます。

また、WordPressや EC-CUBEといった、ブログシステム、ECシステムも PHPで開発されており、これらをカスタマイズするための知識も身につけることができます。本講座では、そんな PHPと MySQL(MariaDB)の基本をプログラミング言語の初心者の方でも学びやすく紹介します。

それぞれの基本を身につけたら、本格的なシステム開発を体験し、最後は Twitterに似た掲示板システムの開発を体験します。本講座を通じて、サーバーサイドプログラミングの世界を学んでいきましょう。Webエンジニアになりたい方はもちろん、マークアップエンジニアの方や、ディレクターの方でも気軽に学習していきましょう。

Who this course is for:
  • Webクリエイター・Webプログラマーになりたい方
  • HTMLやCSSを制作するマークアップエンジニア・コーダーとして、次の一歩の学習をしたい方
  • WordPressのカスタマイズなど、PHPを利用したソフトウェアの開発をしたい方