1

PHP で mail() 関数を使用しようとしましたが、連絡先フォームをテストしたときに、自分のメール アドレスに送信するメッセージを取得できないようです。それは単に白い画面に移動し、それ以上はありません..下に成功メッセージさえ表示されません.

これはPHPです:

<?php 
if(isset($_POST['submit'])) {
$name = $_POST['name'];
$address = $_POST['address'];
$number = $_POST['number'];
$email = $_POST['email'];
$message = $_POST['message'];
$subject = 'Message from Reef website';
$to = 'myemail@hotmail.co.uk';

if (empty($name) || empty($address) || empty($number) || empty($email) || empty($subject) || empty($message)) {
    if (empty($name))
        $error['name'] = "Please enter your Full Name";
    if (empty($name))
        $error['address'] = "Please enter your address";
    if (empty($name))
        $error['number'] = "Please enter a contact number";
    if (empty($email))
        $error['email'] = "Please enter a valid Email Address";
    if (empty($message))
        $error['message'] = "Please write a message, enquiries or other concerns above";
}
else { //if not empty

    $headers="From: {$email}\r\nReply-To: {$email}";
    mail($to,$subject,$message,$headers);
    $success = "Thank you! You're email has been sent.";
}
}
?>

これは私のHTMLフォームです:

<form method="POST" action="mailer.php">
    <table border="1">
            <tr>
    <td><label for="name" class="g">Name</label></td>
    <td><input id="name" name="name" type="text" required autofocus></td>
    </tr>

    <tr>
    <td><label for="address" class="g">Address</label></td>
    <td><textarea rows="3" id="address" name="address" cols="50"></textarea></td>
    </tr>

    <tr>
    <td><label for="number" class="g">Contact number</label></td>
    <td><input id="number" name="text" type="text" required autofocus></td>
    </tr>

     <tr>
      <td><label for="email" class="g">Email</label></td>
      <td><input id="email" name="email" type="text" placeholder="example@domain.com" required autofocus></td>
      </tr>

      <tr>
      <td><label for="message" class="g">Enquiry</label></td>
      <td><textarea rows="3" id="message" name="message" cols="50"></textarea></td>
      </tr>
      </table>
      <input type="submit" value="Submit" name="submit">
</form>

何が欠けているか誰でも見ることができますか?他の同様の質問を見ると、私のようなものはすべてありますが、それらは機能すると言っています。

4

6 に答える 6

1

変化する

mail($to,$subject,$message,$headers); 

if(mail($to,$subject,$message,$headers))
{
  echo "mail has been sent";
}
else
{
 echo "error during sending mail";
}

1つの変数のみをチェックするため、ifsも変更します

if (empty($name))

常に $name

デバッグのために最初の行に入れます:

error_reporting(E_ALL);

なぜ「id」を使用するのですか?それはあなたにとって必要ですか?

<input id="name" name="name" type="text" required autofocus>
于 2013-04-22T11:41:22.340 に答える