ストレートポイント。私は自分のウェブサイトで連絡フォームを設定しようとしていますが、動作させるのに苦労しています。また、ここでは多くの関連トピックを読んでいます。私はチュートリアルに従ったので、このトピックについてよく知っています。私は最近php.iniファイルが正しく設定されていると確信しています。(最近は迷惑メールになってしまいましたが)。私がコードを変更するまでは。遅かれ早かれ変更が必要でした。不思議なことに、電子メールを送信するときに、変数を指定せずにハードコードされた詳細で実行しました。しかし、私は変数を実装すると、それは動作を停止しました。明らかに、変数を使ってユーザーの入力を処理するにはPHPが必要です。 PHPにユーザーの入力を読み込ませるには?私は最も重要な部分は、入力タグに属性name="something"
を使用していると思います。PHPサーバー経由で電子メールを送信
関連するコードの共有:
PHP:
<?php
$fullName = $errorMsg = $sucMsg = "";
$errMsg = $email = $subject = $emailErr = $message = "";
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
if (isset($_POST['submit'])) {
$fullName = test_input($_POST['fullName']);
if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$emailErr = "Your email address is not valid !";
} else {
$email = $_POST['email'];
}
$subject = test_input($_POST['subject']);
$message = test_input($_POST['message']);
if($emailErr == "") {
$emailTo = "[email protected]";
$headers = "From ".$fullName." ".$email." via contact form";
$headers .= "Reply-To: ".$email;
$headers .= "Return-Path: [email protected]\r\n";
$headers .= "CC: [email protected]\r\n";
$headers .= "BCC: [email protected]\r\n";
if (mail($emailTo, $subject, $message, $headers)) {
$sucMsg = "<p>The email was sent successfully !</p>";
} else {
$errMsg = "<p>The email could not be sent !</p>";
}
}
}
?>
HTML:
<div class="container" id="form">
<div id="successMsg" class="alert alert-success" role="alert"><?php
echo $sucMsg; ?></div>
<div id="errMsg" class="alert alert-danger" role="alert"><?php echo
$errMsg; ?></div>
<form method="POST" action="contact.php">
<fieldset class="form-group">
<label for="fullName">Full name</label>
<input type="text" class="form-control" name="fullName"
id="fullName" placeholder="full name" required>
</fieldset>
<fieldset class="form-group">
<label for="email">Email</label>
<input type="email" id="email" placeholder="email" class="form-
control" required>
<small id="emailHelp" name="email" class="form-text text-muted">I
won't share your email with anyone</small>
</fieldset>
<fieldset class="form-group">
<label for="subject">Subject</label>
<input type="text" class="form-control" name="subject" id="subject" placeholder="subject" required>
</fieldset>
<fieldset class="form-group">
<label for="message">Your message</label>
<input type="text" class="form-control" name="message" id="message" placeholder="message" required>
<input type="submit" id="submit" class="btn btn-success" value="Submit">
</fieldset>
</form>
</div>
UPDATE:それは終わるませんので、私はPHPのコードを変更する必要がありますどのように
ジャンクメールで?
変数を印刷して値を表示しようとしましたか? – Marvin
ヘッダーはすべて\ r \ nで終わる必要があります。 –
'print_r($ variable)'は正しいですか? –