入力フォームでよく使うPHPコマンド

PHPでFormを使う PHP/MySQL
同一ドメインからファイル 読み込み

PHP


require_once(dirname(__FILE__).'/phpdata.php'); //設定ファイル 読み込み
文字コードチェック $value

PHP


//文字コードチェック UTF-8またはShiftJISでないときは強制終了
if( ! mb_check_encoding($value,"UTF-8") && ! mb_check_encoding($value,"SJIS-win") ){
	header('Content-Type: text/html; charset=UTF-8');
	echo "<p>文字コードが異なります。処理を中断。</p>\n";
	exit();
}
文字の変更

PHP


$input_moji = mb_convert_kana($input_moji, "R", "utf-8");  //英数字を全角にする
$input_mail = mb_convert_kana($input_mail, "n", "utf-8");  //全角数字を半角にする
$input_eimoji = mb_convert_kana($input_eimoji, "R", "utf-8");  //英数半角を全角にする

その他

PHP


<?php
$str1 = 'ABC123ABC123';

// r:全角英字を半角英字に変換
echo mb_convert_kana($str1, 'r'); // 出力:ABC123ABC123

// R:半角英字を全角英字に変換
echo mb_convert_kana($str1, 'R'); // 出力:ABC123ABC123

// n:全角数字を半角数字に変換
echo mb_convert_kana($str1, 'n'); // 出力:ABC123ABC123

// N:半角数字を全角数字に変換
echo mb_convert_kana($str1, 'N'); // 出力:ABC123ABC123

// a:全角英数字を半角英数字に変換
echo mb_convert_kana($str1, 'a'); // 出力:ABC123ABC123

// A:半角英数字を全角英数字に変換
echo mb_convert_kana($str1, 'A'); // 出力:ABC123ABC123

$str2 = 'ABC 123ABC 123';

// s:全角スペースを半角スペースに変換
echo mb_convert_kana($str2, 's'); // 出力:ABC 123ABC 123

// S:半角スペースを全角スペースに変換
echo mb_convert_kana($str2, 'S'); // 出力:ABC 123ABC 123

$str3 = 'アイウエオあいうえおアイウエオ';

// k:全角カタカナを半角カタカナに変換
echo mb_convert_kana($str3, 'k'); // 出力:アイウエオあいうえおアイウエオ

// K:半角カタカナを全角カタカナに変換
echo mb_convert_kana($str3, 'K'); // 出力:アイウエオあいうえおアイウエオ

// h:全角ひらがなを半角カタカナに変換
echo mb_convert_kana($str3, 'h'); // 出力:アイウエオアイウエオアイウエオ

// H:半角カタカナを全角ひらがなに変換
echo mb_convert_kana($str3, 'H'); // 出力:アイウエオあいうえおあいうえお

// c:全角カタカナを全角ひらがなに変換
echo mb_convert_kana($str3, 'c'); // 出力:あいうえおあいうえおアイウエオ

// C:全角ひらがなを全角カタカナに変換
echo mb_convert_kana($str3, 'C'); // 出力:アイウエオアイウエオアイウエオ

$str4 = 'ガギグゲゴ';

// V:濁点付きの文字を一文字に変換(K, Hと共に使用)
echo mb_convert_kana($str4, 'VK'); // 出力:ガギグゲゴ
?>
名前 $input_name

PHP


	//=====名前=====
	if( ! isset($input_name) ){ 	//未入力
		$error_message['name'] = "※お名前は必須項目です。";
	}else {
		 $input_name = mb_convert_kana($input_name, "n", "utf-8");  //全角数字を半角にする

		if( mb_strlen($input_name,"utf-8")>30 ){    //最大文字数オーバー
			$error_message['name'] = "※お名前は15文字以内で入力してください。";

		}elseif( ($input_name ===" ") || ($input_name ==="山田花子") || ($input_name ==="田中太郎") || ($input_name ==="一太郎") ){
			//不正な名前
			$error_message['name'] = "※お名前はただしく入力してください。";

		}elseif( strstr($input_name, 'いいい')  ||  strstr($input_name, 'あああ')  ) {
			$error_message['name'] = "※名前に連続した文字列がはいっています。";

		}elseif( ctype_alnum($input_name) ){   //名前が半角英数字だったら不正
			$error_message['name'] = "※名前に数字は入力しないでください";
		}
	}
郵便番号

PHP


//=====郵便番号=====
if( isset($input_zipcode)  ){

	$input_zipcode = mb_convert_kana($input_zipcode, "n", "utf-8") ;  //全角数字を半角にする
	$input_zipcode = str_replace("-", "", $input_zipcode) ;  //文字列から"-"を外す。

	if( ! preg_match("/^[\d]{7}$/",$input_zipcode)  ){
		$error_message['zipcode'] = "※郵便番号が間違っています。数字で入力してください。";
	}
}
電話番号 $input_phone

PHP



	//=====電話番号=====
	if( ! isset($input_phone) ){  //未入力
		$error_message['phone'] = "※電話番号は必須項目です。";
	}else{
		$input_phone = mb_convert_kana($input_phone, "n", "utf-8");  //全角数字を半角にする
		$input_phone = str_replace("-", "", $input_phone);  //文字列から"-"を外す。

		if( preg_match("/^0\d{9}$/",$input_phone) ){  //一般電話10ケタ

			$phone_first4 = substr($input_phone, 0, 4); //0バイト目から4バイトとりだし
			$phone_first2 = substr($input_phone, 0, 2); //0バイト目から2バイトとりだし

			if( strstr($phone_first4, '0120') ){
				$error_message['phone'] = "※0120番号はご登録できません。" ;

			}elseif( strstr($phone_first2, '00') ){
				$error_message['phone'] = "※電話番号が正しくないようです。" ;

			}elseif( //以下の番号を含むは拒否
			      strstr($input_phone, '000000000')		 || strstr($input_phone, '0450000001')		 || strstr($input_phone, '0123456789')
			   || strstr($input_phone, '0116669999')	 || strstr($input_phone, '09111111111') 	 || strstr($input_phone, '0138123123')
			   || strstr($input_phone, '0999999999')	 || strstr($input_phone, '0552222222') 		 || strstr($input_phone, '0116669999')
			   || strstr($input_phone, '0123456789') 	 || strstr($input_phone, '012345678')		 || strstr($input_phone, '0312345678')
			   || strstr($input_phone, '099999999') 	 || strstr($input_phone, '0781231234') 		 || strstr($input_phone, '0312345678')
			   || strstr($input_phone, '0552222222') 	 || strstr($input_phone, '0123123123')
			  ){
				$error_message['phone'] = "※この番号はご登録できません。" ; 

			}else{
				//$error_message['phone'] = "◎";
			}

		}elseif(   preg_match("/^0460\d{5}$/",$input_phone) //神奈川県足柄下郡箱根町と静岡県裾野市茶畑は9ケタ
			|| preg_match("/^0578\d{5}$/",$input_phone) //岐阜県吉城郡神岡町と上宝村は9ケタ
		     ){
			//$error_message['phone'] = "◎";

		}elseif( preg_match("/^090\d{8}$/",$input_phone) || preg_match("/^080\d{8}$/",$input_phone)  || preg_match("/^070\d{8}$/",$input_phone)
		      || preg_match("/^060\d{8}$/",$input_phone) || preg_match("/^050\d{8}$/",$input_phone)  || preg_match("/^040\d{8}$/",$input_phone)
		 ){ 

			$phone_first4 = substr($input_phone, 0, 4); //0バイト目から4バイトとりだし

			if(  strstr($phone_first4, '0800') ){    //着信課金サービスで使用している番号

				$error_message['phone'] = "※番号がご登録できないので他の番号をご入力ください。" ; // 0900は導入されるかもしれない番号なので指定しない

			}elseif(   strstr($input_phone, '090111111111') 	 || strstr($input_phone, '09000000000')   || strstr($input_phone, '080888888888')
				|| strstr($input_phone, '050555555555')
			 ){
				$error_message['phone'] = "※電話が正しくないようです。";
			}else{

				//$error_message['phone'] = "◎";
			}
		}else{
			$error_message['phone'] = "※電話番号が間違っています。";
		}
	}

メールアドレスチェック

PHP


//=====メールアドレス=====
if( isset($input_mail) ){

	$input_mail = mb_convert_kana($input_mail, "n", "utf-8");  //全角数字を半角にする

	if( ! preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$input_mail) ){

		$error_message['mail'] = "※メールアドレスの形式が間違っています。";
	}
	if( mb_strlen($input_mail,"utf-8")>40  ){	

		$error_message['mail'] = "※メールアドレスは40文字以内で入力してください。";
	}
}
タイトルとURLをコピーしました