PHP初心者でお問い合わせフォームを作成しています。
手探りで一度作ってみたのですが、共通化ができていないのでそこを改善できないか考えています。
・実現したいこと
具体的には、バリデーション部分のコードをまとめられないかと考えていますが方法が分かりません。
例 ↓このような部分です
if ($conf_data["name"] === "") {
$err_msg["name"] = "お名前を入力してください";
}
if ($conf_data["namekana"] === "") {
$err_msg["namekana"] = "ふりがな(お名前)を入力してください";
}
↓バリデーション部分のコードになります
$err_msg = array(); if ($conf_data["name"] === "") { $err_msg["name"] = "お名前を入力してください"; } if ($conf_data["namekana"] === "") { $err_msg["namekana"] = "ふりがな(お名前)を入力してください"; } if ($conf_data["corp"] === "") { $err_msg["corp"] = "勤務先または団体名を入力してください"; } if ($conf_data["corpkana"] === "") { $err_msg["corpkana"] = "ふりがな(勤務先または団体名)を入力してください"; } if ($conf_data["zip"] === "") { $err_msg["zip"] = "郵便番号を入力してください"; } else if (!preg_match("/^[0-9]+$/", $conf_data["zip"])) { $err_msg["zip"] = "郵便番号はハイフンなしの半角数値で入力してください。(0000000)"; } if (empty($conf_data["pref"])) { $err_msg["pref"] = "都道府県を選択してください"; } else if (!array_key_exists($conf_data["pref"],$prefs)){ $err_msg["pref"] = "都道府県の選択が正しくありません"; } if ($conf_data["address"] === "") { $err_msg["address"] = "住所を入力してください"; } if (($conf_data["tel1"] === "") && ($conf_data["tel2"] === "") && ($conf_data["tel3"] === "")) { $err_msg["tel1"] = "電話番号を入力してください"; } else if (($conf_data["tel1"] === "") || ($conf_data["tel2"] === "") || ($conf_data["tel3"] === "")) { $err_msg["tel2"] = "電話番号をすべて入力してください"; } else if (!preg_match("/^[0-9]+$/", $conf_data["tel1"]) || !preg_match("/^[0-9]+$/", $conf_data["tel2"]) || !preg_match("/^[0-9]+$/", $conf_data["tel3"])) { $err_msg["tel3"] = "電話番号を正しく入力してください"; } if (($conf_data["fax1"] !== "") || ($conf_data["fax2"] !== "") || ($conf_data["fax3"] !== "")) { if (($conf_data["fax1"] === "") || ($conf_data["fax2"] === "") || ($conf_data["fax3"] === "")) { $err_msg["fax1"] = "FAX番号をすべて入力してください"; } else if (!preg_match("/^[0-9]+$/", $conf_data["fax1"]) || !preg_match("/^[0-9]+$/", $conf_data["fax2"]) || !preg_match("/^[0-9]+$/", $conf_data["fax3"])) { $err_msg["fax2"] = "FAX番号を正しく入力してください"; } } if ($conf_data["email"] === "") { $err_msg["email"] = "メールアドレスを入力してください"; } else if (!preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9._-]+)+$/", $conf_data["email"])) { $err_msg["email"] = "正しくないメールアドレスの可能性があります"; } if ($conf_data["contact_reason"] === "") { $err_msg["contact_reason"] = "お問い合わせカテゴリを選択してください"; } else if (!array_key_exists($conf_data["contact_reason"],$contact_reason_array)) { $err_msg["contact_reason"] = "お問い合わせカテゴリの選択が正しくありません"; } if ($conf_data["message"] === "") { $err_msg ["message"] = "お問い合わせ内容を入力してください"; }
分かりにくい質問で申し訳ありません。何か方法があれば教えていただけると助かります。
よろしくお願いします。
回答5件
あなたの回答
tips
プレビュー