2014-01-23 3 views
-7

고쳐 주셨습니다. 이것은 원래이었다PHP 메일 양식이 작동하지 않습니다

<?php 
    if(isset($_POST['email'])) { 

    $email = $_POST['email']; 
    $name = $_POST['name']; 
    $message = $_POST['message'];; 
    $subject = $email = $_POST['subject'];; 

    $email_to = $email; 
    $header = 'From: 1totheN <[email protected]>' . "\r\n"; 
    function clean_text($string) { 
    $bad = array("content-type","bcc:","to:","cc:","href"); 
    return str_replace($bad,"",$string); 
    } 
    $email_message .= "Name: ".clean_text($email)."\n"; 
    $email_message .= "Email: ".clean_text($email)."\n"; 
    $email_message .= "Message: ".clean_text($message)."\n"; 
    @mail($email_to, $subject, $email_message, $header); 
    echo "Your message has been sent."; 

} 
?> 

가 여기에 HTML 페이지의 마크 업입니다 :

<form class="contact-form" id="subscribeForm" action="mail.php" method="post"> 
     <input type="text" name="name" class="required" placeholder="YOUR NAME"> 
     <input type="text" name="email" class="required email" placeholder="EMAIL ADDRESS"> 
     <input type="text" name="subject" class="required last" placeholder="SUBJECT"> 
     <textarea name="message" placeholder="YOUR MESSAGE"></textarea> 
     <input type="submit" name="submit" value="SUBMIT YOUR MESSAGE"> 
     <h6 id="form_result">Your email will not be published.</h6> 
</form> 

이 수정 프로그램입니다 :

$email_to = "[email protected]"; 
$header = 'From: 1totheN <[email protected]>' . "\r\n"; 
$email_message .= "Name: ".clean_text($name)."\n"; 

내 생각은 수정이가. $ email_to 필드에 전자 메일을 추가하고 $ 이름을 추가했습니다. 일하는 것 같습니다.

+2

더 구체적으로 작동하지 않습니까? $ subject = $ email = $ _POST [ 'subject'] ;; 잘못되었습니다. $ subject = $ _POST [ 'subject']; – sunshinekitty

+0

'

'도 게시 할 수 있습니까? –

+0

@ 0n35 - 문제가 확실한 이유는 무엇입니까? 답변으로 게시하지 않으시겠습니까? – madebydavid

답변

0

아래가 이제 작동합니다. , 거기 그것을 가지고 잘못이 아니에요 ... 나는 또한 if 문 이외의 기능을 이동 $subject = $email = $_POST['subject'];

그것은 단지 : 그것은 당신이 몇 가지 추가 ;이 줄을 잘못하고 아마도 실수를했다, 단지 작은 문법 실수입니다 약간 이상해 보인다.

function clean_text($string) { 
    $bad = array("content-type","bcc:","to:","cc:","href"); 
    return str_replace($bad,"",$string); 
} 

if(isset($_POST['email'])) { 
    $email = $_POST['email']; 
    $name = $_POST['name']; 
    $message = $_POST['message']; 
    $subject = $_POST['subject']; 

    $email_to = $email; 
    $header = 'From: 1totheN <[email protected]>' . "\r\n"; 
    $email_message .= "Name: ".clean_text($email)."\n"; 
    $email_message .= "Email: ".clean_text($email)."\n"; 
    $email_message .= "Message: ".clean_text($message)."\n"; 
    @mail($email_to, $subject, $email_message, $header); 
    echo "Your message has been sent."; 
} 
?> 
+0

감사합니다, @anthonygore, 그걸 정돈 해 줬지만 충분하지는 않아. 방금 $ email_to 매개 변수에 전자 메일을 던져서 작동했습니다. 도와 주셔서 감사합니다. – happyseaurchin

관련 문제