0

何らかの理由で、連絡先ページが Thanks.html に移動しません。連絡先ページにとどまり、連絡先フォームが消えます。

<?php
if (empty($_POST) === false) {
$errors = array();

$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];

if (empty($name) === true || empty($email) === true || empty($message) === true) {
    $errors[] = 'Name, email, and message are required.';
} else {
    if (filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
        $errors[] = 'Please enter a valad email address.';
    }
}
if (empty($errors) === true) {
    mail('joe@mydomain.com', 'Contact Form' ,'$message', 'From: ' . $email);
    header('Location: thanks.html');
    exit();
}
}
?>

これもフォームからの私のコードです。

<?php
if (empty($errors) === false) {
echo '<ul>';
foreach($errors as $error) {
    echo '<li>', $error, '</li>';
}
echo '<ul>';


}
?>




</div>
<div id="content">






<form action="" method="post">

<p>
<label for="name">Name:</label><br />
<input type="text" name="name" id="name" <?php if (isset($_POST['name']) === true) {            echo              'value="', strip_tags($_POST['name']), '"'; } ?> />
</p>
<p>
<label for="email">Email:</label><br />
<input type="text" name="email" id="email" <?php if (isset($_POST['email']) === true) { echo 'value="', strip_tags($_POST['email']), '"'; } ?>/>
</p>
<p>
<label for="message">Message:</label><br />
<textarea name="message" id="message"><?php if (isset($_POST['message']) === true) { echo  strip_tags($_POST['message']), ''; } ?></textarea>
</p>
<p>
<input type="submit" />
</p>


</form>







</div>

誰でもこれを簡単に修正できますか?それは私を夢中にさせています。上記のコードでこれらの行のさまざまなバリエーションを試してみましたが、何も機能していません...

if (empty($errors) === true) {
mail('joe@mydomain.com', 'Contact Form' ,'$message', 'From: ' . $email);
header('Location: thanks.html');
exit();
4

2 に答える 2

0

私はあなたが近くにいると思います、

解決

後にリダイレクトする完全なアドレスを指定します

メールを送信している場合は、変更するだけです


header('場所: thank.html');

header('場所: http://www.example.com/thanks.html ');

こちらも交換

empty($name) === true から empty($name)

trueを指定する必要はありません。デフォルトでかかります


于 2013-09-17T19:54:23.757 に答える