php と html による入力フォームの作成:
MySQL から特定のコメントを表示する

UB3/informatics/php/select

このページの最終更新日: 2023/02/14


このページは、php による入力フォームの作成 および php による入力情報の処理 の続きである。MySQL に格納されている情報を、コメントとしてウェブページ上に出力する方法について記載する。

  1. 基本は select.php を使う
  2. MySQL のパスワードを php スクリプト中に記載しない方法
  3. MySQL から特定の行のみ引き出す

広告

基本は select.php を使う

php による入力情報の処理 で練習に使った select.php の形式が基本となる。

このページ にある select.php というスクリプトを、ページ冒頭の <!DOCTYPE html> より前に記載する。また、html 部分の body タグにテーブルを作る。foreach $rows as $row の部分で、一行ずつに分けるようになっている。

MySQL のパスワードを php スクリプト中に記載しない方法

ネット上にたくさんある MySQL への接続スクリプトで気になったのが、php スクリプト中にユーザー名やパスワードが書かれている点。php なのでブラウザからアクセスしても見えないが、ソースの表示や wget されたらパスワードが漏れるのではないか?

php は見えないようになっているらしいが、どうも不安である。

そこで、このページ にあるように別のパスワード記述ファイルを作り、これを html のドメインよりも上位に置くことにした。現在は、これでうまく動いている。

他の策として、読み取り専用の別ユーザーを作ることも考えたが、X サーバーの MySQL でユーザー権限を変更する方法がよくわからなかった。

MySQL から特定の行のみ引き出す

これは、SELECT に単純に WHERE を入れるだけでよい。ただし、ページ URL は php で読み込む。すなわち、

$thispage = $_SERVER['REQUEST_URI']
$sql = "SELECT Name, Comment, Page FROM Comments where Page ='$thispage';";

1 行目でページの URL を変数として保存し、データベース中の Page がこれと一致するレコードのみを抽出している。URL は full ではなく、/informatics などの階層から始まる。

その後、ORDER BY を使って、新しいコメントから順にソートしている。


広告

References

  1. 柏岡、池田. 2017. いちばんやさしい PHP の教本.

タイトルで「いちばんやさしい」と言っているだけあって php の独習に最適 な本だと思う。2015 年の比較的新しい本で、最新のアップデートまではカバーしていないものの、基本的なことは全て載っている。

テキストエディタのインストール、html 文法についても基本の解説があるのが助かる。これを読めば html と php を使ったウェブサイトが作れるようになり、さらに入力フォームの作り方、データベース MySQL との連携まで一通りできるようになるだろう。

実例は、ブラウザを利用した料理レシピアプリ。データの入力、表示、変更などの基本性能が全てあるので、他のプログラムを組むときにも応用しやすい。


コメント欄

各ページのコメント欄を復活させました。レイアウトは改善していきます。「管理人への質問」「フォーラム」へのバナーも引き続きご利用下さい。


このページにコメント

Name:


Comment:



これまでに投稿されたコメント

Date Name Comment