私はphpフォームをコーディングしていて、非常に軽量で短いコードが必要でした。キャプチャは正常に機能し、検証も同様に機能します。私には2つの問題があります:テストしたとき、私が受け取る電子メールは1)電子メールの件名として人の名前を示しています2)メッセージフィールドに書かれたテキストは送信されません
ご意見をお聞かせください。
これはphpです:
<?php
session_start();
if(isset($_POST['submit'])) {
$email = $_REQUEST['email'] ;
$name = $_REQUEST['name'] ;
$telephone = $_REQUEST['telephone'] ;
if(!empty($_POST['name']) && !empty($_POST['email']) && !empty($_POST['telephone']) &&!empty($_POST['message']) && !empty($_POST['code'])) {
if($_POST['code'] == $_SESSION['rand_code']) {
if
(filter_var($email, FILTER_VALIDATE_EMAIL)) {
mail("youremail@something.something", $name, $telephone, "From:" . $email);
$accept = "Thank you for contacting me.";
}
else if (strpos($email, '@') !== false) {
$error = "Please verify your email";
}
else {
$error = "Please verify your email";
}
}
else {
$error = "Please verify that you typed in the correct code.";
}
}
else {
$error = "Fields with * are required";
}
}
?>
ここにHTMLがあります:
<body>
<?php if(!empty($error)) echo '<div class="error">'.$error.'</div>'; ?>
<?php if(!empty($accept)) echo '<div class="accept">'.$accept.'</div>'; ?>
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post" enctype="multipart/form-data">
<p><input type="text" name="name" /> Name *</p>
<p><input type="text" name="email" /> Email *</p>
<p><input type="text" name="telephone" /> Contact Number *</p>
<p><textarea name="message"></textarea>Message</p>
<img src="captcha.php"/>
<p><input type="text" name="code" /> Are you human?</p>
<p><input type="submit" name="submit" value="Send" class="button" /></p>
</form>