0

いくつかの質問を調査し、複数のオプションを試した後、まだ機能させることができませんでした!

送信されないお問い合わせフォームがあります。

<form id="contact" method="post" action="process.php">
    <fieldset>  

        <label for="name">Name:</label>
        <input type="text" name="name" placeholder="Your name" title="Your name" class="required">

        <label for="email">E-mail:</label>
        <input type="email" name="email" placeholder="yourmail@domain.com" title="Your e-mail address" class="required email">

        <label for="phone">Phone number:</label>
        <input type="tel" name="phone" placeholder="+34 111 22 33 44" title="Your phone number">

        <p>&nbsp;</p>
        <input type="radio" name="rsvp" value="si">
        <span class="destacar-contacto">ACCEPT</span> the invitation<br>
        <input type="radio" name="rsvp" value="no">
        <span class="destacar-contacto">REJECT</span> the invitation<br>

        <p>&nbsp;</p>
        <p class="negrita-contacto">If you're coming: what would you like better?</p>
        <input type="radio" name="menu" value="carne"> Calf sirloin with foie<br>
        <input type="radio" name="menu" value="pescado"> Marinade salmon with dill<br>
        <input type="radio" name="menu" value="vegetariano"> Fungus risotto<br>

        <label for="mas">Is someone coming with you? Let us know their name and their prefered menu here:</label>
        <textarea name="mas"></textarea>

        <label for="message">Aditional message:</label>
        <textarea name="message"></textarea>

        <input type="submit" name="submit" class="boton" id="submit" value="Enviar" />

    </fieldset>
</form>

これが PHP 関数です。

$name = strip_tags($_POST['name']);
$email = strip_tags($_POST['email']);
$phone = strip_tags($_POST['phone']);
$rsvp = strip_tags($_POST['rsvp']);
$menu = strip_tags($_POST['menu']);
$mas = strip_tags($_POST['mas']);
$message = strip_tags($_POST['message']);

mail( "formulario@ourdreamjourney.com", "rsvp",
"Name: $name\nEmail: $email\nPhone: $phone\nRsvp: $rsvp\nMenu: $menu\nMas: $mas\nMessage: $message\n",
"From: Our Dream Journey <mail@hotmail.com>" );

「名前: $name」だけをランダムに送信しようとしたところ、メールが届きました。しかし、その後、他のすべてのオプションを元に戻し、何もしません...

誰かが私を助けてくれますか?

よろしくお願いします!:)

4

2 に答える 2

0

ヘッダー要素にすべての情報を追加してみてください:

$headers = "From: myplace@here.com\r\n";
$headers .= "Reply-To: myplace2@here.com\r\n";
$headers .= "Return-Path: myplace@here.com\r\n";
$headers .= "CC: sombodyelse@noplace.com\r\n";
$headers .= "BCC: hidden@special.com\r\n";


MIME のように覚えていない他のオプションもあるかもしれません
。おそらく別の問題は、変数の一部が文字列を壊す (文字列を閉じる) ことです。file_put_contents を含むファイルのどこかに印刷するか、単にエコーしてみてください

于 2013-03-01T08:26:43.643 に答える
0

phpMailer クラスを使用できます。このライブラリをここからダウンロードします。多くの例では、電子メールを送信します。

http://code.google.com/a/apache-extras.org/p/phpmailer/downloads/list

編集:

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

    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    // Additional headers
    $headers .= 'From:Our Dream Journey <mail@hotmail.com>' . "\r\n";

    if(mail( "formulario@ourdreamjourney.com", "rsvp",nl2br("Name: $name\nEmail: $email\nPhone: $phone\nRsvp: $rsvp\nMenu: $menu\nMas: $mas\nMessage: $message\n"),
    $headers )) echo "Sent"; die;
于 2013-03-01T07:50:04.460 に答える