GETで渡されたIDのチェックtと表示するデータ取得

GETで渡されたIDのチェックtと表示するデータ取得
#19 データの編集をしてみよう (2)
http://dotinstall.com/lessons/contacts_php_v2/9819
を参考に
GETで渡されたIDのチェックを行い、表示するデータを取得
まずGETで渡された値がただしいか
正規表現を使ってチェック
これは
preg_match() という関数でできる
解説は
http://phpspot.net/php/man/php/function.preg-match.html
を参考
今回は、GETで渡された id をパターンで調べるので
if(preg_match(‘/^[1-9][0-9]*$/’ $_GET[‘id’])){
}
となる
パターンの正規表現の意味は
1から始まる数字の連番
^[1-9][0-9]*$
これで1桁目が1~9、そして、そのあとは
0~9の繰り返しとなる
^は1行め
$は行末
*は、0回以上の繰り返し
という意味
正規表現については
PHP正規表現チェッカー ver1.0.3
http://www.rider-n.sakura.ne.jp/regexp/regexp.php
を参考に
preg_match() で指定したパターンにあっているなら
$id にGETで渡されたIDを格納するので
$id =(int)$_GET[‘id’];
とする
もし、条件を満たしていないのなら
echo “不正な」IDです”;
exit;
として終了するようにする
これで、GETの判定はできたので
DB接続関連
setToken();
の下あたりに追記
$stmt = $dbh->prepare(“select * from entries where id= :id limit 1”);
$stmt->execute(array(“:id”=>$id));
$entry = $stmt->fetch() or die(“no one found “);
or die(“no one found “);は失敗したときの処理
次に、DBの中身を格納する変数を用意
$name = $entry[‘name’];
$email =$entry[‘email’];
$memo = $entry[‘memo’];

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です