PHPでフォーム送信の際に禁止ワードのチェック及び制限をかける方法
2024/01/15
掲示板等のformを送信する際に特定の禁止ワードが含まれていないかチェックするプログラムというのを以前JavaScriptで作ったけどPHP版も必要になった。以下に実装方法をメモ。
JavaScript版
https://taitan916.info/blog/archives/2609
PHP版ソース
<?php /* 手続き型版 */ $body = 'tsesあああtaaa'; //チェックしたい本文 $ng_words = array('test','hoge','あああ'); //禁止ワード $flg = 0; foreach( $ng_words as $word ){ if(strpos($body, $word) !== false){ $flg = 1; break; } } if( $flg ){ //禁止ワードが含まれている場合の処理 }else{ //禁止ワードが含まれていない場合の処理 } /* 関数版 */ function check_word( $check_data ){ $ng_words = array('test','hoge','あああ'); //禁止ワード $flg = true; foreach( $ng_words as $word ){ if(strpos($check_data, $word) !== false){ $flg = false; break; } } return $flg; //禁止ワードが含まれていればfalse、含まれていなければtrueを返す }
その他
$bodyのところを$_POST['bbs_body']とかで受け取ったものにすれば良い。また、JavaScript側からAjaxで送信してチェックするという使い方もいける。
関連記事
-
-
PHPでデータベースを取り扱いやすくなるORMライブラリ「idiorm」の利用方法
Codeigniterでデータベースを取り扱う際にクエリビルダクラスを用いて可読 ...
-
-
日付の比較で○日前というのを調べる
PHP及びjavascriptで日付の比較をしたく、締切日とかではなく ○日前と ...
-
-
PHP8系で「Warning: Constant xxxxx already defined in」エラーの対応方法
PHP8系&WordPress6.4.3で「Warning: Const ...
-
-
AjaxのJSONP使用でPHPで作った配列をJSに返す方法
AというサイトからBというサイトにAjax通信し、Bの方ではMySQLに接続して ...
-
-
PHPで日時比較時の注意
PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...