2013-11-28 2 views
1

내 이메일 PHP 양식에 문제가 있습니다. 제출 버튼을 클릭하면 다른 페이지가 나타납니다. There was a problem with your e-mail() 내가 뭘 잘못하고 있는거야? 여기 PHP 메일 양식이 작동하지 않습니다

내 코드입니다 :

HTML 코드

<!-- Subscription Form --> 
    <form class="email" action="form.php" method="post"> 
    <input class="get_notified" type="text" placeholder="Enter your email address ..."/> 
    <button type="submit" class="go" /></form> 
<!-- End Subscription Form --> 

    </div> 
    </div> 
</body> 

PHP 코드

<?php 
$to = "[email protected]"; 
$from = "[email protected]"; 

$headers = "From: " . $from . "\r\n"; 

$subject = "New subscription"; 
$body = "New user subscription: " . $_POST['email']; 


if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) 
{ 
if (mail($to, $subject, $body, $headers, "-f " . $from)) 
{ 
    echo 'Your e-mail (' . $_POST['email'] . ') has been added to our mailing list!'; 
} 
else 
{ 
    echo 'There was a problem with your e-mail (' . $_POST['email'] . ')'; 
} 
} 
else 
{ 
echo 'There was a problem with your e-mail (' . $_POST['email'] . ')'; 
} 
+1

코드의 두 오류 메시지는 완전히 동일하므로 어떤 'else'블록이 트리거했는지 알 수 없습니다. 메시지 중 하나를 다른 것으로 변경하여 false로 평가되는 조건을 찾습니다. –

+1

메일 기능으로 만 코드의 양을 줄이고 코드가 비트로 추가되기 시작하는지 확인하십시오. –

+1

Dulax가 코드가 작동하지 않는 이유를 제공하고 양식에 name 속성을 추가하십시오 들 –

답변

3

당신이 순서대로 HTML 양식에 name="email" 필드를 추가해야합니다 PHP는 $_POST['email']

을 사용하여 가져올 수 있습니다.
<input class="get_notified" name="email" type="text" placeholder="Enter your email address ..."/> 
관련 문제