PHPで数値チェック
2014/06/06
ページング情報だったりフォーム情報だったりで、
数値かどうかをチェックしたかった。
調べるとis_numericがいいみたい。
■リファレンス
http://www.php.net/manual/ja/function.is-numeric.php
if ($_GET['page']) {
$page = $_GET['page'];
} else {
$page = 0;
}
みたいな感じで、ページング情報をクエリで持ってきて
クエリがあって尚且つ数値の場合は$pageに格納、
それ以外の場合は強制的に1ページ目を表示するような形。
あとついでにis_intという関数もあって、これでいいんじゃないの?
と思ったらどうもダメらしい。
■リファレンス
http://php.net/manual/ja/function.is-int.php
「注意:
変数が数値もしくは数値形式の文字列の場合 (フォームからの入力の場合は 常に文字列となります) 、
is_numeric() を使用する必要があります。 」
という注意書きがあった。
クエリやったら大丈夫だろうけど、フォーム情報を
扱う場合はダメらしい。フォームからの入力は
常に文字列になる、というのは知らなかった。
関連記事
MySQLでIPを整数値としてカラムに格納する
MySQLでIPを整数値としてカラムに格納しているケースがあった。今までIPが必 ...
CSVファイルを使って郵便番号から住所を抽出する
■ソース <? error_reporting(E_ALL & ~ ...
PHPページングテンプレ
使いやすいのがあったのでメモ。 $page ...
MySQLiでINSERT文
MySQLiでINSERT文 ■ソース $mysqli = new mysqli ...
wp_mail関数でエンベロープFrom(Return-Path)が指定できない場合の対応方法
WordPress内に設置されたお問い合わせのフォームようなシステムでエンベロー ...