私はPHPとHTMLコードを持っています。私は電子メール(名前、件名、メッセージ)を送信するための4つの入力があり、例外の検証があります。今すぐ私のコーディング作業:最初の入力が空であれば、2番目の入力が空であればエラーメッセージを表示し(最初は空ではない)、エラーメッセージなどを表示します。 1つはPHPの例外です。どのように私はそれを修正することができますアイデア?PHP例外エラーメッセージ
例外処理とPHPコード:
if (isset($_POST['Send'])) {
class emailException extends Exception {}
class email_validException extends Exception {}
class subjectException extends Exception {}
class messageException extends Exception {}
$name = $_POST['name'];
$to = $_POST['to'];
$subject = $_POST['subject'];
$message = $_POST['message'];
try {
if($name == "") {
throw new Exception("Töltsd ki a mezőt(1)!");
}
if($to == "") {
throw new emailException("Töltsd ki a mezőt(2)!");
}
// Email cim ellenőrzése
if (!filter_var($to, FILTER_VALIDATE_EMAIL)) {
throw new email_validException("Hibás email cím!");
}
if($subject == "") {
throw new subjectException("Töltsd ki a mezőt(3)!");
}
if($message == "") {
throw new messageException("Töltsd ki a mezőt(4)!");
}
if ($name != "" && $to != "" && $subject != "") {
echo "Email elküldve";
$name = "";
$to = "";
$subject = "";
$message = "";
}
}
catch(emailException $e1) {
$error_mail = $e1->getMessage();
}
catch(email_validException $e1) {
$error_mail_valid = $e1->getMessage();
}
catch(subjectException $e2) {
$error_subj = $e2->getMessage();
}
catch(messageException $e3) {
$error_message = $e3->getMessage();
}
catch(Exception $e) {
$error = $e->getMessage();
}
}
HTML入力フォームを:
<form name="myForm" onsubmit="//return validateForm();" method="post" action="feladat9.php">
<p><input type="text" name="name" placeholder="Név" value="<?php echo $name; ?>"><label id="error_name"><?php echo $error ?></label></p>
<p><input type="text" name="to" placeholder="Címzett" value="<?php echo $to; ?>"><label id="error_email"><?php
echo "$error_mail $error_mail_valid";?></label></p>
<p><input type="text" name="subject" placeholder="Tárgy" value="<?php echo $subject; ?>"><label id="error_subject"><?php echo $error_subj ?></label></p>
<p><input type="text" name="message" placeholder="Üzenet" value="<?php echo $message; ?>"><label id="error_message"></label><?php echo $error_message ?></p>
<input type="submit" value="Send" id="send" name="Send">
</form>
すぐに投げるのではなく、例外メッセージを配列に保存し、条件チェックで完了したらすべて例外をスローします。 – funsholaniyi
'$ name = isset($ _ POST ['name'])? $ _POST ['name']: ""; $ to = isset($ _ POST ['to'])? $ _POST ['to']: ""; $件名= isset($ _ POST ['件名'])? $ _POST ['件名']: ""; $ message = isset($ _ POST ['message'])? $ _POST ['message']: ""; – Eugen
@Eugenここで私はこのコードを挿入しますか? –