2017-03-10 2 views
-1

vCard/resume 웹 사이트에서 일하고있었습니다. 그러나 .php 파일 및 문의 양식에 문제가 있습니다.내 문의 양식에서 이메일을 보내지 않았습니다.

디버깅을 시도했지만 성공하지 못했습니다.

다음은 HTML

<!-- form --> 
<form name="contactForm" id="contactForm" method="post" action="inc/sendEmail.php"> 
    <fieldset> 
     <div class="form-field"> 
      <input name="contactName" type="text" id="contactName" placeholder="Name" value="" minlength="2" required> 
     </div> 
     <div class="form-field"> 
      <input name="contactEmail" type="email" id="contactEmail" placeholder="Email" value="" required> 
     </div> 
     <div class="form-field"> 
      <input name="contactSubject" type="text" id="contactSubject" placeholder="Subject" value=""> 
     </div> 
     <div class="form-field"> 
      <textarea name="contactMessage" id="contactMessage" placeholder="Message" rows="10" cols="50" required></textarea> 
     </div> 
     <div class="form-field"> 
      <button class="submitform">Submit</button> 
      <div id="submit-loader"> 
       <div class="text-loader"> 
        Sending... 
       </div> 
       <div class="s-loader"> 
        <div class="bounce1"> 
        </div> 
        <div class="bounce2"> 
        </div> 
        <div class="bounce3"> 
        </div> 
       </div> 
      </div> 
     </div> 
    </fieldset> 
</form> 
<!-- Form End --> 

에서 내 양식 그리고 내 PHP 파일입니다

<?php 
// Replace this with your own email address 
$siteOwnersEmail = '[email protected]'; 
if($_POST) { 
    $name = trim(stripslashes($_POST['contactName'])); 
    $email = trim(stripslashes($_POST['contactEmail'])); 
    $subject = trim(stripslashes($_POST['contactSubject'])); 
    $contact_message = trim(stripslashes($_POST['contactMessage'])); 
    // Check Name 
    if (strlen($name) < 2) { 
     $error['name'] = "Please enter your name."; 
    } 
    // Check Email 
    if (!preg_match('/^[a-z0-9&\'\.\-_\+][email protected][a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is', $email)) { 
     $error['email'] = "Please enter a valid email address."; 
    } 
    // Check Message 
    if (strlen($contact_message) < 15) { 
     $error['message'] = "Please enter your message. It should have at least 15 characters."; 
    } 
    // Subject 
    if ($subject == '') { $subject = "Contact Form Submission"; } 
    // Set Message 
    $message .= "Email from: " . $name . "<br />"; 
    $message .= "Email address: " . $email . "<br />"; 
    $message .= "Message: <br />"; 
    $message .= $contact_message; 
    $message .= "<br /> ----- <br /> This email was sent from your site's contact form. <br />"; 
    // Set From: header 
    $from = $name . " <" . $email . ">"; 
    // Email Headers 
    $headers = "From: " . $from . "\r\n"; 
    $headers .= "Reply-To: ". $email . "\r\n"; 
    $headers .= "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 
    if (!$error) { 
     ini_set("sendmail_from", $siteOwnersEmail); // for windows server 
     $mail = mail($siteOwnersEmail, $subject, $message, $headers); 
     if ($mail) { echo "OK"; } 
     else { echo "Something went wrong. Please try again."; } 
    } # end if - no validation error 
    else { 
     $response = (isset($error['name'])) ? $error['name'] . "<br /> \n" : null; 
     $response .= (isset($error['email'])) ? $error['email'] . "<br /> \n" : null; 
     $response .= (isset($error['message'])) ? $error['message'] . "<br />" : null; 
     echo $response; 
    } # end if - there was a validation error 
} 
?> 

가 어떤 이메일을 보내는하지 않기 때문에 누군가가, 내가 여기서 뭘 잘못하고 무엇을 말해 줄 수. 당신이 type="submit"

를 추가하고 사용자가 클릭 버튼 또는 파일의 직접 액세스를 확인해야하므로

+0

오류 메시지를 시도하십시오? – Twinfriends

+0

print_r ($ mail)을 사용하여 $ mail의 내용을 표시하고 mail()을 호출 한 후 print_r에 대한 호출을 삽입하십시오. – SPlatten

+0

아니요 지금까지 오류 메시지가 없습니다. 이메일을 보내지 않고 있습니다. –

답변

0

당신은 당신이 !empty($_POST)를 확인하실 수 있습니다 양식이 경우 작업에 버튼 type="submit" 또는 type="button" 의 유형을 선언해야

경우
// Change in your HTML 
<button class="submitform">Submit</button> 
// to 
<button type="submit" class="submitform">Submit</button> 

//Change in your PHP 
if($_POST) 
// to 
if(!empty($_POST)) 
+0

이 코드는 질문에 대답 할 수 있지만 이유 및/또는이 코드가 질문에 어떻게 대답하는지에 대한 추가 컨텍스트를 제공하면 장기적인 가치가 향상됩니다. –

+0

그것은 작동하지 않았다 : ( –

0

<?php 
$message =""; 
if(isset($_POST)){ 
    mail(to,subject,message,headers,parameters); 
} 
?> 
+0

그래서 당신이 말하는 것은 내 전체 PHP 파일을 변경해야만합니까? –

+0

당신이 이것을 시도 할 수 있습니다 –

관련 문제