- 締切済み
設定ファイルを作って、設定ファイルの書き換えでメッセージなどを変更できるようにしたい
メールフォームのエラーチェックの部分をPHPで作成したのですが、設定ファイルを作成し設定ファイルを書き換えるだけで変更することができる(エラーメッセージ等)ようにするにはどうしたらよいのでしょうか? 1ヶ月以上考えましたが、まったくわかりませんでした。 <PHPファイル> <?php session_start(); if (strlen($_POST["name"]) == 0){ $error_flg = true; $error_messages[] = "名前を入力してください"; } //フリガナのエラーチェック $pat = "/^(\xA5[\xA1-\xF6]|\xA1\xBC|\xA1\xA6|\xA1\xA1|\x20)+$/"; if (strlen($_POST["kana"]) == 0){ $error_flg = true; $error_messages[] = "フリガナを入力してください"; }else if (!preg_match($pat, $_POST["kana"])){ $error_flg = true; $error_messages[] = "フリガナを全角カナで入力してください。"; } $pat = "/^[a-z0-9\-\._]+@[a-z0-9]([0-9a-z\-]*[a-z0-9]\.){1,}[a-z]{1,4}$/i"; if (strlen($_POST["mail"]) == 0){ $error_flg = true; $error_messages[] = "メールアドレスを入力してください"; }else if (!preg_match($pat, $_POST["mail"])){ $error_flg = true; $error_messages[] = "メールアドレスが不正です。"; } if (mb_strlen($_POST["naiyo"]) == 0){ $error_flg = true; $error_messages[] = "問い合わせ内容を入力してください"; }else if(strlen($_POST["naiyo"]) >= 400){ $error_flg = true; $error_messages[] = "問い合わせ内容を全角200文字以内で入力してください"; } if($_POST["counseling"] != "希望する"){ $_POST["counseling"] = "希望しない"; } if ($error_flg == true){ foreach($error_messages as $value){ echo($value."<br>"); } exit(); } $_SESSION["name"] = $_POST["name"]; $_SESSION["kana"] = $_POST["kana"]; $_SESSION["mail"] = $_POST["mail"]; $_SESSION["counseling"] = $_POST["counseling"]; $_SESSION["naiyo"] = $_POST["naiyo"]; require_once("smarty/Smarty.class.php"); $smarty = new Smarty; $smarty->template_dir = "templates/"; $smarty->compile_dir = templates_c/"; $smarty->display("chk_disp.tpl"); /* ファイルの指定 */ $file_name = "sample.csv"; /* CSVファイル用変数の指定(タグを無効にする) */ $void = ""; $name= strip_tags($_POST["name"]); $kana = strip_tags($_POST["kana"]); $mail = strip_tags($_POST["mail"]); $counseling = $_POST["counseling"]; $naiyo = strip_tags($_POST["naiyo"]); /* カンマなどを変換する(それぞれの変数をセット) */ $void = ""; $kanma = ","; $single_quote = "’"; $double_quote = "”"; /* カンマなどを変換する(処理) */ $name = ereg_replace(',',$void,$name); $name = ereg_replace("'",$single_quote,$name); $name = ereg_replace('"',$double_quote,$name); $naiyo = ereg_replace(',',$kanma,$naiyo); $naiyo = ereg_replace("'",$single_quote,$naiyo); $naiyo = ereg_replace('"',$double_quote,$naiyo); /* 配列に格納してCSVファイルにセット */ $array = compact("name","kana","mail","counseling","naiyo"); $csvString = implode(",",$array); $file = fopen($file_name,"a+") or die("OPEN ERROR! $file_name"); flock($file,LOCK_EX); fputs($file, $csvString."\n"); flock($file,LOCK_UN); fclose($file); ?> TPLファイル <html> <head> <title>申し込みフォーム-確認画面- </title> </head> <body> <p>下記の内容でよろしければ送信ボタンを押してください。</p> <hr> <form action="disp_fix.php" method="post"> <table> <tr> <td>お名前:</td> <td>{$smarty.post.name}</td> </tr> <tr> <td>フリガナ</td> <td>{$smarty.post.kana}</td> </tr> <tr> <td>メールアドレス</td> <td>{$smarty.post.mail}</td> </tr> <tr> <td>カウンセリング:</td> <td>{$smarty.post.counseling}</td> </tr> <tr> <td>お問い合わせ内容:<br>(※必須 全角200文字以内)</td> <td>{$smarty.post.naiyo}</td> <tr> <td colspan=2 align=center><input type="submit" value="送信"></td> </tr> </table> </form> </body> </html>
- みんなの回答 (2)
- 専門家の回答
お礼
ありがとうございます。 とてもわかりやすくて本当に感激です。 まだまだわからないことはありますがよろしくお願いします。