PHPフォームのスパム対策についてなのですが
氏名のふりがなをひらがな入力でチェックをしたいのですが
下記記述でうまくいきません。PHPの初心者なのでご教授いただけますでしょうか?
( PHPの一部抜粋ですが //20090403 in の箇所を追記しました。)
////////////////
// メイン処理 //
////////////////
if ($method == 3) {
include($smtp_class);
}
@header("Content-Type: text/html; charset=EUC-JP");
if (isset($_POST['FORM'])) {
//フォームからのデータを評価
if ($_POST['FORM']['NAME'] == "") {
die('名前が入力されていません');
}
//20090403 in
if ($_POST['FORM']['FURIGANA'] == "") {
die('ふりがなを ひらがなで入力してください。');
}
if ($_POST['FORM']['EMAIL'] == "") {
die('Eメールが入力されていません');
}
if ($_POST['FORM']['MESSAGE'] == "") {
die('メッセージが入力されていません');
}
if (strlen($_POST['FORM']['MESSAGE']) > $max) {
die('文字数が多すぎます');
}
if ($_POST['FORM']['SUBJECT'] == "") {
$_POST['FORM']['SUBJECT'] = '(untitled)'; //タイトルなしの場合
}
//改行コードを<LF>に統一
$_POST['FORM']['MESSAGE'] = str_replace("\r\n", "\n", $_POST['FORM']['MESSAGE']);
$_POST['FORM']['MESSAGE'] = str_replace("\r", "\n", $_POST['FORM']['MESSAGE']);
//先頭と末尾のホワイトスペースを削除
$_POST['FORM']['MESSAGE'] = trim($_POST['FORM']['MESSAGE']);
//メッセージ部分のフォーマット
$_POST['FORM']['MESSAGE'] = "\n"
. "----------------------------------------------------------------------\n"
. $_POST['FORM']['MESSAGE']."\n"
. "----------------------------------------------------------------------\n";
//メール本文の作成
$body = ""; //初期化
while (list($item, $value) = each($_POST['FORM'])) {
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
$body .= sprintf("%-8s", $item)." : ".$value."\n";
}
//漢字コード変換( EUC → JIS )
if ($enable_EUCtoJIS) {
$body = EUCtoJIS($body);
$subject = '=?ISO-2022-JP?B?'.base64_encode(EUCtoJIS($_POST['FORM']['SUBJECT'])).'?=';
$from_name = '=?ISO-2022-JP?B?'.base64_encode(EUCtoJIS($_POST['FORM']['NAME'])).'?=';
$kana_name = '=?ISO-2022-JP?B?'.base64_encode(EUCtoJIS($_POST['FORM']['FURIGANA'])).'?=';
}
//20090403 in
if (!mb_ereg("^[ぁ-ん]+$", $_POST['FORM']['FURIGANA'])) {
$from = $kana_name." <".$_POST['FORM']['FURIGANA'].">";
}
if (ereg("^[0-9A-Za-z._-]+@[0-9A-Za-z.-]+$", $_POST['FORM']['EMAIL'])) {
$from = $from_name." <".$_POST['FORM']['EMAIL'].">";
} else {
$from = $from_name." <".$to.">";
}
以下略 ------------
御多忙のところ恐縮ですがよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
ひらがなは、「ぁ-ん」なので、
if(mb_ereg('^[ぁ-ん]+$', $hoge)) print ・・・・・←ふりがなはひらがな
else print・・・・ ←ふりがなは空欄かひらがなではない
とかではどうでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPで画像の渡しが上手く行きま...
-
HTMLで前の画面に戻る時、入力...
-
phpでチェックボックスでの値の...
-
テキストボックスに初期値を入れる
-
phpでの複数選択チェックボック...
-
PHPの初心者です。現在チェック...
-
<input type="hidden" >で配列...
-
複数行のデータ一括更新に関して
-
PHP ボタンが押されたら処理を...
-
チェックボックスのvalueを連結...
-
入力フォーム→確認画面→送信画...
-
【PHPチェック】ラジオボタンが...
-
チェックボックスのvalueに変数...
-
IEで、フォームにたとえば
-
フォームの途中で追加するには
-
DBの値をチェックボックスに反...
-
チェックボックスによる検索
-
PHP+MySQLで複数のラジオボタン...
-
リストボックス 複数選択のデ...
-
PHPでクリックするたびに変数を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<input type="hidden" >で配列...
-
HTMLで前の画面に戻る時、入力...
-
PHPでユーザー情報を入力して簡...
-
PHP ボタンが押されたら処理を...
-
PHPとHTML+Xamppの掲示板で画像...
-
syntax error, unexpected '}' ...
-
検索時の選択内容を保持する方法
-
PHPでCookieを使った訪問回数に...
-
チェックボックスによる検索
-
フォームでのリセットを使う方法
-
PHPで画像の渡しが上手く行きま...
-
チェックボックスによる検索(...
-
フォームへの前回入力値をクリ...
-
フォームボタンを押すたびに数...
-
php mysql でチェックボックス...
-
PHPの関数実行
-
phpで分からないエラーが出てし...
-
PHPで、ボタンを押すと同じペー...
-
ラジオボタンをsessionで使いたい
-
入力フォーム→確認画面→送信画...
おすすめ情報