1

私は現在、PHP を使用してメッセージを電子メールに送信する HTML フォームに取り組んでいます。MAMP でテストしていますが、[メッセージを送信] をクリックしても応答がありません。アドバイスをいただければ幸いです。

HTML

<form action="mail.php" method="POST">
    <div class="row half">
        <div class="6u">
            <input type="text" class="text" name="name" placeholder="Name" />
        </div>
        <div class="6u">
            <input type="text" class="text" name="email" placeholder="Email" />
        </div>
    </div>
    <div class="row half">
        <div class="12u">
            <textarea name="message" placeholder="Message" rows="6" cols="25"></textarea>
            <br />
        </div>
    </div>
    <div class="row">
        <div class="12u">
            <ul class="actions">
                <li class="button form" input type="submit" value="Submit">Send Message</li>
            </ul>
        </div>
    </div>
</form>

PHP

<?php 
    $name = $_POST['name'];
    $email = $_POST['email'];
    $message = $_POST['message'];
    $formcontent="From: $name \n Message: $message";
    $to = 'my@email.com';
    $subject = "Contact Form";
    $mailheader = "From: $email \r\n";
    $send_message=mail($to, $subject, $formcontent, $mailheader);

    if($send_message){
        echo "thank you"
    } else {
        echo "error";
    }
?>

ありがとう

4

3 に答える 3

5

あなたのコードにいくつかのエラーが見つかりました

これを修正します:

<li class="button form" input type="submit" value="Submit">Send Message</li>

<li class="button form"> <input type="submit" value="Submit">Send Message</li>

これを修正します:

 echo "thank you" 

echo "thank you";

于 2013-10-31T06:47:00.937 に答える
0

これをローカルサーバーで確認していますか?php mail() 関数はおそらくローカル サーバーでは機能しない可能性があります。一部のオンライン サーバーで確認してください (@Ashish が言及したバグを修正した後)。

于 2013-10-31T07:01:49.843 に答える
0

HTML

<form action="mail.php" method="POST">
<div class="row half">
    <div class="6u">
        <input type="text" class="text" name="name" placeholder="Name" />
    </div>
    <div class="6u">
        <input type="text" class="text" name="email" placeholder="Email" />
    </div>
</div>
<div class="row half">
    <div class="12u">
        <textarea name="message" placeholder="Message" rows="6" cols="25"></textarea>
        <br />
    </div>
</div>
<div class="row">
    <div class="12u">
        <ul class="actions">
            <li class="button form"> <input type="submit" value="Submit" name="sendmessage"/>Send Message</li> // Use name attribute
        </ul>
    </div>
</div>

*名前属性を使用*

PHP

      <?php 
    if($_POST['sendmessage']!="")
    {
        $name = $_POST['name'];
        $email = $_POST['email'];
        $message = $_POST['message'];
        $formcontent="From: $name \n Message: $message";
        $to = 'my@email.com';
        $subject = "Contact Form";
        $mailheader = "From: $email \r\n";
        $send_message=mail($to, $subject, $formcontent, $mailheader);

        if($send_message){
            echo "thank you";
        } else {
            echo "error"; } 
 }
?>

このコードを試してください。

于 2013-10-31T07:03:22.413 に答える