初めてプログラミングを学ぶ人を対象にした“スラスラわかる”シリーズの新刊です。本書では、「プログラミングやPHP関連の知識はゼロ」という状態から、PHP言語・プログラミングの基礎知識や作法、基本構文・テクニックなどを無理なく習得し、かつプログラムが自力で作れるようになるところまで、しっかりとフォローします。豊富なイラストと図解、丁寧な解説・サンプルプログラムで、PHPによるWebアプリ開発で必要な基礎スキルをしっかり身につけることができます。
しっかり基礎固めをしたい方、Webアプリを作りたいけれどPHP言語がわからないという方はもちろんのこと、ほかの入門書で挫折した方やプログラミングに苦手意識を持っている方にもおすすめの一冊です。
第1章 Webアプリケーションの世界へようこそ!
1.1 Webアプリケーションってなに?
Webアプリケーションの種類
1.2 Webアプリケーションを分解してみよう
ブログの機能
ブログの表側(閲覧画面)
ブログの裏側(管理画面)
データベース
1.3 インターネットの裏側を見てみよう
クライアントとサーバ
IPアドレスと名前解決
サーバの仕事
ブラウザの仕事
サーバの動作
Webアプリケーションとプログラム
第2章 プログラムってなんだろう
2.1 コンピュータとプログラムの関係
プログラムの役割
プログラムの中身
2.2 プログラミングの流れ
2.3 プログラミングを疑似体験してみよう
2.4 プログラミングはコワくない
プログラミング学習に対する3つの不安
PHPプログラミングに必要なソフトウェア
第3章 はじめてのプログラミング
3.1 プログラムを動かす場所 ~リモートホストとローカルホスト
リモートホスト
ローカルホスト
3.2 PHP実行環境を整えよう ~ XAMPPのインストール
1│XAMPPのダウンロード
2│インストーラの実行
3│Apache HTTP Server、MySQLの起動
4│自動起動設定
5│公開フォルダの確認
6│MySQLの接続確認
3.3 開発の下準備
拡張子の表示
テキストエディタの準備 ~ TeraPadのインストール
公開フォルダの準備
3.4 はじめてのPHPプログラミング
基本的な書き方
PHPの動作チェック
はじめてのプログラムに挑戦!
3.5 PHPのエラー
エラーの表示内容
エラーを表示させる方法
第4章 基本の型
4.1 型ってなんだろう?
論理型
整数型
浮動小数点数型
文字列型
ヌル(NULL)
4.2 変数と代入
変数ってなに?
変数の名前
変数へ代入
結合演算子
4.3 四則演算
( )を使った演算
4.4 論理演算子
論理積
論理和
否定
第5章 制御構文
5.1 繰り返しと判断はPHPにおまかせ!
5.2 if――判断
比較演算子
else――ifでないときの判断
else if――複数条件
if …else if …else文の複合
5.3 for――繰り返し
for構文は1ステップずつ理解しよう
カレンダー
5.4 while――その間繰り返す
while構文の使いどころ
5.5 do…while――先に処理してから繰り返す
5.6 switch…case…break…default――条件を並べる
if構文の書き換え
第6章 配列
6.1 配列ってなんだろう?
配列の目的と機能
6.2 配列を使おう
配列の作成
値の追加
6.3 少し複雑な配列
多次元配列
6.4 連想配列
連想配列とは?
連想配列の作成
値の追加
6.5 制御構文と配列
for構文と配列
foreachと連想配列
第7章 関数
7.1 関数ってなんだろう?
関数の目的と機能
引数と返り値
引数のない関数
返り値を使わない関数
7.2 自作関数
自作関数の作り方
引数のない関数
返り値のない関数
デフォルト引数のある関数
関数を作ってみよう
関数の切り出し
変数のスコープ
7.3 PHPマニュアルの読み方
関数の使い方を調べてみよう
「説明」に記載されている引数
関数のエイリアス
第8章 Webアプリケーションの設計
8.1 Webアプリケーションを作る前にすべきこと
設計の手順
1│Webアプリケーションを企画する
2│機能の洗い出しをする
3│画面遷移を考える
4│使用技術を考える
8.2 交流サイトの下準備
ドキュメントルートとパス
トップページの作成
第9章 ファイル操作
9.1 お知らせ機能を作ろう!
ファイル読み込みの下準備
ファイルの読み込みと表示
改行付きで表示する
9.2 ファイルを1行ずつ読み込む
お知らせタイトルと詳細
お知らせ修正の下準備
ファイル読み込みの流れ
fopen関数
fgets関数
fclose関数
トップページの修正
詳細画面の作成
feof関数とEOF
count関数
いろいろな配列のループ
いろいろなファイル取得
9.3 ファイルへの書き込み
書き込みの流れ――fwrite関数
テキストファイルへの書き込み
書き込みと改行コード
第10章 フォーム
10.1 GETメソッド
リクエストの種類
GETメソッドの形式と特徴
GETメソッドのリクエストと受け取り
スーパーグローバル変数
10.2 POSTメソッド
POSTメソッドの形式と特徴
POSTメソッドの受け取り
HTMLフォーム
HTMLフォームからPHPへデータの送受信
HTMLは簡単に改ざんできてしまう
10.3 画像のアップロード
画像アップロード機能の概要
ステップ1│POSTメソッドで画像のアップロード
ステップ2│画像の保存
画像ファイル名に一工夫しよう!
ステップ3│画像フォルダ内の画像を一覧表示
ページング処理
第11章 データベース
11.1 データベースの基礎知識
データベースってなんだろう?
リレーショナルデータベースの要素
11.2 交流サイトに掲示板を作ろう
掲示板の概要
データベース設計
MySQLのデータ型
掲示板のデータベース設計
MySQLデータベースの作成
テーブルの作成
ユーザ作成
11.3 掲示板を作成しよう
入力フォームの作成――bbs.php
データベース書き込みプログラム――write.php
必須項目のチェック
サーバとデータベースの指定
例外処理
PDO
オブジェクト指向
プリペアドステートメント
11.4 コメントの表示
テーブルデータの読み込みと表示――bbs.phpの修正
データベース接続とデータの取得
レコードの取り出しとページング
コメント削除機能の追加
コメントを削除するプログラム――delete.php
第12章 セッションとクッキー
12.1 クッキーの利用
クッキーの仕組み
クッキーの保存
クッキーの読み込み
クッキーの注意点
12.2 セッションの利用
セッションの使い道
セッションの仕組み
12.3 交流サイトにログイン機能を持たせよう
ログイン機能の概要
ログイン機能の下準備
パスワードの暗号化
ログインフォームの表示――login.php
その他のページのログイン処理
ログアウト処理
第13章 セキュリティ
13.1 セキュリティの基礎知識
セキュリティの意味
PHPのセキュリティ
セキュリティに対する心構え
13.2 クロスサイトスクリプティング(XSS)
脆弱性と攻撃の方法
対策
13.3 SQLインジェクション
脆弱性と攻撃の方法
対策
13.4 セッションハイジャック
脆弱性と攻撃の方法
対策
13.5 クロスサイトリクエストフォージェリ(CSRF)
脆弱性と攻撃の方法
対策
第14章 アプリケーションの拡張
14.1 サムネイルの作成
開発のアイデア
実現のヒント
画像リソース
画像のコピー
14.2 ユーザの新規登録・情報修正機能
開発のアイデア
実現のヒント
テーブルの結合
14.3 地図情報の利用
開発のアイデア
実現のヒント
第15章中・上級へのステップ
15.1 ライブラリの利用
ライブラリを使うメリット
RSSパーサ
Webスクレイピング
メール送信
PDF作成
15.2 テンプレート言語の利用
HTMLとPHPを切り分ける
15.3 オブジェクト指向
オブジェクト指向のメリット
クラスの作成と利用
アクセス修飾子
プロパティ
継承
コンストラクタとデストラクタ
15.4 MVC
MVCモデル
15.5 フレームワークの利用
処理の再利用
15.6 品質の高いアプリケーションを目指して
アプリケーションの品質
ソースコードの可読性
プログラムの拡張性
バグのないプログラム
付属データはこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 108 3段落目の上から3行目 |
4刷 | 済 |
|
2018.10.09 | ||||||
1刷 | 237 表の「フォーマット文字」3行目 |
2刷 | 済 |
|
2015.06.08 | ||||||
1刷 | 244 図中の表「返り値:配列」、左端の列 |
2刷 | 済 |
|
2015.06.08 | ||||||
1刷 | 245 「画像の表示とリンクの出力」1行目、3行目 |
2刷 | 済 |
|
2014.09.18 | ||||||
1刷 | 261 下から2行目 |
未 | 未 |
|
2021.03.29 | ||||||
1刷 | 261 Note |
未 | 未 |
|
2021.03.29 | ||||||
1刷 | 285 プログラムの50行目 |
2刷 | 済 |
|
2017.01.27 | ||||||
1刷 | 324 「交流サイトのXSS対策」のコード |
2刷 | 済 |
|
2015.01.20 | ||||||
1刷 | 396 第5章 CheckTest5.2 Q1 |
2刷 | 済 |
|
2015.01.22 | ||||||
1刷 | 399 第8章 この章の到達度チェック Q3 |
3刷 | 済 |
|
2018.02.09 | ||||||
1刷 | 400 この章の到達度チェック 第9章 Q3のコード |
3刷 | 済 |
|
2016.07.22 | ||||||
2刷 | 400 この章の到達度チェック 第9章 Q3のコード |
3刷 | 済 |
|
2017.04.27 |
小野靖貴 さん
2018-12-15
感謝しかない。久しぶりにプログラミングの楽しさを感じた。
zoe さん
2017-09-04
この手の本って参考書的に必要な部分だけ読むことが多いけれど、この本は教科書的に、最少から読まれることを想定している。おかげさまで初めてプログラミングの本を最初から最後まで読破しましたよ。