PHP iletişim formu göndermiyor

7 Cevap php

Ben bir e-posta adresine formun detaylarını gönderen bir sayfada bir iletişim formu var. Sen burada www.wonder.ie görüntüleyebilirsiniz

Formu için HTML şöyledir:

<form id="form" name="form27" class="wufoo  page" enctype="multipart/form-data" method="post" action="mailer.php">  
    <ul>
        <li id="foli1">
            <label class="op" id="title1" for="Field1">Name</label>
            <div><input id="Field1" name="name" type="text" class="op required" value="" maxlength="255" tabindex="1" onkeyup="handleInput(this);" onchange="handleInput(this);" /></div>  
        </li>

        <li id="foli2">
        <label class="op" id="title2" for="Field2">Email</label>
            <div><input id="Field2" name="email" type="text" class="op required email" value="" maxlength="255" tabindex="2" onkeyup="handleInput(this);" onchange="handleInput(this);" /></div>
        </li>

        <li id="foli3">
            <label class="op" id="title3" for="Field3">Inquiry</label>
            <div><textarea id="Field3" name="message" class="op required" rows="10" cols="50" tabindex="3" onkeyup="handleInput(this);" onchange="handleInput(this);"></textarea></div>
        </li>
        </ul>  
        <input id="button" name="saveForm" class="btTxt submit" type="submit" value="Submit" />         
</form>

Ve benim PHP için bu geçerli:

<?php
if(isset($_POST['submit'])) {
$to = "AN_EMAIL@ADDRESS.COM";
$subject = "Email from Wonder.ie";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

mail($to, $subject, $body);
} else {
echo "blarg!";
}
?>

Her şey doğru görünüyor mu? Ben PHP ile doğru uyumlu formu isimler var biliyorum ama ben biliyorum e-posta almıyorum, neden ben çözemiyorum - AN_EMAIL@ADDRESS.COM, sitenin gerçek bir e-posta adresi var üzerinde Bilginize PHP değil. Ben gönder düğmesine basın keresinde mailer.php götürüldü ama ben yankı fark "Blarg!" bu yüzden benim tahminim e-posta gönderiliyor değildir.

Teşekkür ederiz!

7 Cevap

Sen değiştirmek gerekir

if(isset($_POST['submit'])) {

karşı

if(isset($_POST['saveForm'])) {

Değiştirmeyi deneyin

if(isset($_POST['submit'])) {

karşı

if(isset($_POST['saveForm'])) {

$ _POST Form giriş adı değil türü arar çünkü bu.

Yukarıda bir şey olur ise, deneyin ve kod hata ayıklama görmek.

Catching PHP mail() errors and showing reasonable user error message

PHP http://top-answers.net/webhost/web-hosting.html HTML form mail gönderme kılavuzu

$_POST['submit'] ayarlanırsa PHP kodu kontrol, ama HTML kodu size teslim düğmesine saveForm adını verdi bu yüzden hat değiştirmek gerekir

if(isset($_POST['submit'])) {

karşı

if(isset($_POST['saveForm'])) {

Bu size yardımcı umut :)

html içinde yazma

<input id="button" name="saveForm" class="btTxt submit" type="submit" value="Submit" /> but in php file when request you call $_POST["submit"] not right

here you can change if(isset($_POST['submit'])) = if(isset($_POST['saveForm']))

or if(isset($_POST['submit'])) = if(isset($_POST))

@ @ @ Kral

Bazı e-posta sunucuları, uygun başlıkları olmadan e-postaları kabul etmez ve herhangi bir sunmamıştır. Bu benim ne kullanın.

http://us2.php.net/manual/en/function.mail.php

$header = "From: ".$fromText."\r\n";
$header .= "Cc: ".$ccText."\n";
$header .= "Reply-To : ".$fromText."\r\n";
$header .= "Return-Path : ".$fromText."\r\n";
$header .= "X-Mailer: PHP\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
mail($toText, $subjectText, $msgText, $header, '-f'.$fromText);