PHP
1$current = 1; 2$p=filter_input(INPUT_GET,"p",FILTER_VALIDATE_INT,["options"=>["min_range"=>1]]); 3if($p){ 4 $current = $p; 5}
PHPにて、ページネーションを作成しました。(※ページネーションについての質問ではないので、ページネーション部分のコードは載せておりません)http://hoge/?p=2
のようにすると、2ページ目に遷移します。
上記のコードは、パラメータpに不正な値が入力されたときの処理です。pは正の整数のみを受け付けます。不正な値が入力された場合は、$pの値を1にして、後続の処理で1ページ目へと遷移するようにしており、問題なく動作しています。
しかし、現在、http://hoge/?p=aaa
などと不正な値が入力された場合、p=aaa
となっているのに、1ページ目が表示されている状態です。パラメータの値と実際に表示されているページが異なっているところに違和感を感じています。
このように不正な値が入力された場合は、パラメータの値もp=1
に書き換えた上で、1ページ目へ遷移するようにしたいです。pの値を書き換える方法は何かあるでしょうか?
それとも、パラメータの値と表示されているページ数が異なるというのは、許容されるものなのでしょうか?パラメータに不正な値が入力された場合に1ページ目へ飛ばすというエラー処理は問題なく動作しているので、特にpの値を書き換える処理はなくてもよいでしょうか?
お手数ですが、ご教授のほど、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/26 22:19