Почему эта контактная форма не работает? - PullRequest
1 голос
/ 29 июля 2011

Кажется, все на месте: PHP:

<?php

if (!empty($_POST['name'])){
$msg = "name". $_POST['name'];
}else{
$fname = NULL;
echo "Name Required.<br />";
}

if (!empty($_POST['email'])){
$msg = "email". $_POST['email'];
}else{
$lname = NULL;
echo "Email Required.<br />";
}

if (!empty($_POST['www'])){
$msg = "Website". $_POST['www'];
}else{
$lname = NULL;
echo "Website Required.<br />";
}

if (!empty($_POST['comment'])){
$msg = "Comment". $_POST['comment'];
}else{
$email = NULL;
echo "A comment is required.<br />";
}

$recipient = "myemail@gmail.com";
$subject = "Form Feedback";
$mailheaders = "Reply-to". $_POST['email'];
//send the mail
mail($recipient, $subject, $msg, $mailheaders);
?>

HTML:

<div id="contact" style="height:280px; margin:1px 0;">
    <form id="contactLP" method="post" action="inc/php/contact_validate.php">
            <div class="align"><input type="text" name="name" tabindex="1" /></div>
            <div class="align"><input type="text" name="email" tabindex="2" /></div>
            <div class="align"><input type="text" name="www" tabindex="3" /></div>
            <div class="align"><textarea id="txta" name="comment" cols="15" rows="5" tabindex="4"></textarea></div>
            <span style="color:transparent;">test</span>
            <br><br>
        <div class="align"><input type="submit" class="submit" name="sendForm" id="SubmitContact" value="" tabindex="5" /></div>
    </form>
</div><!--CONTACT-->

Когда я правильно заполняюи отправьте: «Спасибо за ваше сообщение» или что-то похожее, но потом я ничего не получаю по электронной почте.

Я пытался запустить это как на сервере в Интернете, так и на моем локальном сервере, работающем на моемрабочая станция.

Я что-то не так делаю выше ???????

Ответы [ 3 ]

1 голос
/ 29 июля 2011

Ваш $ msg содержит только текущее значение.

Попробуйте что-то подобное для всех ваших присвоений значения переменной $ msg

$msg .= "Comment". $_POST['comment'];
1 голос
/ 29 июля 2011

Да, вы "name; $_POST['name'] "; должны быть "name". $_POST['name']; в каждом случае, когда вы используете эту строку.

0 голосов
/ 29 июля 2011

функция mail

Вы, кажется, слегка облажались с переменной $ mailheaders (раздел с ответом), попробуйте этот код в автономном скрипте.Если даже это не помогает, вам, возможно, придется проверить свою почтовую функцию и то, как она настроена на сервере.(очевидно, измените адреса электронной почты)

<?php
$to      = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com';

mail($to, $subject, $message, $headers);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...