PHPLearning

データベースのデータをjsonで出力

今回は、3つのファイル使用してデータベースのデータをjsonで出力してみたいと思います。 ・confing.php ・functions.php ・json.php 今回使用するデータベース サーバー名:localhostデーターベース名:dbユーザー名:rootデーターベースへのパスワード:テ…

Smartyでログオフ

logoff.php template_dir = dirname( __FILE__ ).'/templates'; $s…

Smartyで投稿画像アップロード

g_up.php template_dir = dirname( __FILE__ ).'/templates'; $smarty-…

Smartyで画像とメッセージの一覧表示

query('SELECT * FROM table1 ORDER BY ban ASC'); ➂ $r = $ps->fetchAll(); ➃ }else{ session_destroy(); ➄ header("Location: ./sailogin.php"); } require( dirname( __FILE__ ).'/libs/Sm…

Smartyを使ってログイン

g_login2.php query("SELE…

ログオフ

■ログオフ g_logoff.php <HTML><HEAD><META HTTP EQIV='Content-Type' CONTENT='text/html;charset=UTF-8'><TITLE>ご利用ありがとうございました</TITLE></HEAD><BODY></body></html>

投稿のアップロード

■投稿のアップロード 今度は画像をアップロードするプログラムです。g.php(画像とメッセージ一覧画面)の「アップロード」のリンクをすると表示されます。g_up.phpがアップロードのためのフォーム、g_up_set.phpがそれを受け取って処理するプログラムです。 g…

画像とメッセージの一覧表示

次は「投稿番号」「投稿者」「投稿日時」「メッセージ」「リンク付きサムネイル」を表示するプログラムg.phpです。この簡易画像掲示板のメインです。ページの先頭と最後に「アップロード」「ログオフ」へのリンクが付きます。 g.php <HTML><HEAD><META HTTP EQUIV='Content-Type' CONTENT='text/html;charset=UTF-8'><TITLE>ようこそABC写真へ!</TITLE></HEAD><BODY> </body></html>

簡易画像掲示板の構成とログイン

■作成する簡易画像掲示板の構成 単純なアップロード機能のみの簡易画像掲示板を作成します。 作成する簡易画像掲示板の主な機能です。 ・あらかじめ登録されている4ユーザーだけがアクセス可能 ・JPEG画像とメッセージのみがアップロード可能 ・画像一覧をサ…

セッション変数、終了

セッション変数 セッションIDとともに、任意の名前を付けたセッション変数を利用することができます。つまりセッションを利用すれば、ページを移動しても任意の値を持ち歩くことができるということです。 セッション変数は、スーパーグローバル変数$_SESSION…

セッション

セッションとは何か ショッピングサイトで買い物かごに品物を入れて、いざ会計となれば必ず別の会計用のページに移動しますよね。ではページを移動したとき、Webサーバ側では「同一ユーザーがアクセスしている」ことを、どう判断しているのでしょうか。買い…

Cookie

Cookieとは Webサーバー側のプログラムが、クライアントの情報を得る手段は限られています。 その1つの手段がCookie。Cookieは「クッキー」と発音します。 クライアントの情報を使って処理したい、というときにはCookieが活躍します。 Cookieの一般的な利用…

標準クラスを利用する-PDO-

「データと処理方法の定義をまとめたもの」が「クラス」、そしてクラスを利用するにはnewを使って具体的な操作対象である「オブジェクト」を生成する必要がありました。 しかし私たちが作ったような小規模な「hitoクラス」では、クラスを利用するメリットは…

定義を別のファイルにまとめる

前回のプログラムは、クラス定義とクラスを使うコードを1つのファイルに書いていますので、非常にわかりにくにいプログラムでしたが、実は、PHPでは、記述の一部を他のファイルに保存しておき、必要に応じてそれをまとめて読み込んで利用することもできます…

クラスの継承

クラスは継承することができます。「継承」とは文字通り、「元の情報を受け継ぐこと」です。すでに存在するクラスの情報をそのまま使って、さらに拡張して新たなクラスを作ることを「クラスの継承」といいます。 ・継承によるクラス作成 前回hitoクラスを作…

クラスの基礎知識

クラスの基礎知識 クラスとは、一定のまとまりを持つデータと、その処理方法をまとめたものと考えてください。複雑な構造を持つデータを1つのグループとして扱いたいときに便利です。 また、クラスはデータ型としての性質も持ちます。 たとえば、ここで「人…

PHPとMySQLでボットを作る

ボット(bot)はロボット(robot)を省略したもの。つまり人間の代わりに自動的に実行されるプログラムのこのことです。コンピュータウイルスの「ボット」に感染してしまうと、悪意ある仕掛人の思い通りにコンピュータが操られてしまいます。twitterにも「ボット…

PHPスクリプトからクエリ発行(SELECTでデータを並び替える)

●データを並び替える 実はデータベース では、SELECTで表示されるレコードの順番は不規則なのです。 つまりどんな順に表示されるのかは運次第といった状況です。 したがって「どんな順に表示されても文句は言わない」というとき以外は、表示順を指定する必要…

PHPスクリプトからクエリ発行(INSERT,SELECTでテーブルデータ表示)

MySQLへの接続方法がわかったら、次はPHPからクエリを発行してみましょう。 あらかじめデータベースへ「db」のテーブル「tb」の内容をphpMyAdminで確認し、 テーブル「tb」は「cd」「nm」「pr」の3つのカラムだけで構成されています。 ここでは以下のように…

PHPでMySQLと接続

PHPスクリプトでMySQLに接続 PHPスクリプトMySQLを制御します。最初は、PHPスクリプトを使ったMySQLサーバーへの接続と切断です。 実はPHPからMySQLに接続して操作する方法には、いろいろな種類があります。ここでは、最も簡単なmysql関数を使います。MySQL…

SQL文の基本

SELECTとUPDATE SELECTはテーブルのデータを表示する命令です。 表示するだけでなので、データが壊されたり変更されたりということがありません。 phpMyAdminのテーブルで「表示」タブを選択すると、各レコードが表示されました。 実はSELECTのクエリを発行…

MySQL基礎知識

MySQLの基礎知識 データベースは「規則を持ったデータの集まり」を意味しますが、一般的には、データを追加したり、検索や抽出をしたりといった管理機能を含めてデータベースと呼びます。 リレーショナルデータベース データベースとして広く使われているの…

Webページからのデータ送信

データ送信のプログラム 「Webページからデータ送信」➡「送られてきたデータをそのまま表示」という簡単な仕組みをフォームとPHPを使って実現します。ただし、実際に公開されているWebサーバーでこれをやると危険が伴うので、必ずlocalhostで試してください…

配列

変数をたくさん扱うそんなプログラムがあると思います。 例えば、変数を100個使用するとします。 $a$b$c....のように100個の変数を記述していくのは面倒ですね。こんな時に便利なのが「配列」です。 変数「$i=123」のように、一つの値だけを格納していました…

日本語を処理する関数

「文字列を反転させる」strrevという関数があります。 「print strrev("ABC")」を実行すると文字列が反転し「CBA」と表示しますが、日本語の文字列の場合下記の例のように文字化けしてしまいます。 実行結果1 これは、strrevという関数が日本語に対応して…

ユーザー定義関数

PHPにはたくさんの関数があらかじめ用意されています。このように最初からPHPに用意されている関数を「組み込み関数」といいます。 ユーザー自らが勝手に「関数」を作り出すことも出来るのです。 これを「ユーザー定義関数」といいます。 書式 ユーザー定義…

二重のfor文

条件分岐や繰り返しは何重にもすることが出来ます。例えば、forを二重にするのなら「forの繰り返し」をさらに「forで繰り返す」というようにします。 書式 for (初期値; 繰り返しの条件; 変化1){ 繰り返し実行する処理 for(初期値; 繰り返しの条件;変化2){ …

while文で繰り返し処理

whileもforと同じく繰り返し処理を記述しますが、forよりも繰り返しの条件を柔軟に記述することができます。 for文は、カウンタ変数の値の変化でしか条件を記述できませんが、while文では 例えば、「変数aに値が代入されていたら」とか「変数aの文字列に「b…

for文による繰り返し処理

for文による繰り返し 書式 forの構文1 for (初期値; 繰り返しの条件; 変化){ 繰り返し実行する処理 } 書式 forの構文2 for(初期値; 繰り返しの条件; 変化){ 繰り返し実行する処理 endfor; for文は、カウンタ変数を用いて繰り返し処理を行います。「初期値…

switch~caseを使って分岐

変数の値によって処理を分岐させたい場合は、ifよりもswitch~caseを使った方が簡潔に記述が出来ます。ifではさまざまな変数を比較することが出来ますが、switch~caseで比較できる変数は一つでだけです。 書式 switch(変数){ case 変数の値1: 処理1 break; …