2016-04-09 34 views
2

(header.html、footer.html、およびcontentsendemail.phpで構成されているHTMLファイルとPHPファイル(sendeamil.php)を使用して、どこ私のメールに情報を送信するために私のコードは、私は、フォームと私のHTMLファイルを持っている連絡先フォームからメールに情報を送信する問題

:。

<form name="htmlform" method="post" action="sendemail.php"> 
<table width="450px"> 
</tr> 
<tr> 
<td valign="top"> 
    <label for="first_name">First Name *</label> 
</td> 
<td valign="top"> 
    <input type="text" name="first_name" maxlength="50" size="30"> 
</td> 
</tr> 

<tr> 
<td valign="top""> 
    <label for="last_name">Last Name *</label> 
</td> 
<td valign="top"> 
    <input type="text" name="last_name" maxlength="50" size="30"> 
</td> 
</tr> 
<tr> 
<td valign="top"> 
    <label for="email">Email Address *</label> 
</td> 
<td valign="top"> 
    <input type="text" name="email" maxlength="80" size="30"> 
</td> 

</tr> 
<tr> 
<td valign="top"> 
    <label for="telephone">Telephone Number</label> 
</td> 
<td valign="top"> 
    <input type="text" name="telephone" maxlength="30" size="30"> 
</td> 
</tr> 
<tr> 
<td valign="top"> 
    <label for="comments">Comments *</label> 
</td> 
<td valign="top"> 
    <textarea name="comments" maxlength="1000" cols="25" rows="6">  </textarea> 
</td> 

</tr> 
<tr> 
<td colspan="2" style="text-align:center"> 
<input type="submit" value="Submit"> (<a href="http://www.freecontactform.com/html_form.php">HTML Form</a>) 
</td> 
</tr> 
</table> 
</form> 

は、それから私は、ヘッダー、コンテンツとフッターで構成され、私のsendemail.phpファイルを持っています:

<?php 
include("templates/header.html"); 
$action = 'contentsendemail'; 
$disallowed_paths = array('header', 'footer'); 
if (!empty($_GET['action'])) { 
$tmp_action = basename($_GET['action']); 
if (!in_array($tmp_action, $disallowed_paths) && file_exists("templates/{$tmp_action}.php")) 
    $action = $tmp_action; 
} 
include("templates/$action.php"); 
include("templates/footer.html"); 
?> 

そして、私のcontentsendemail.phpファイル:私はすべてのメールが届かない

  1. <?php 
    if(isset($_POST['email'])) { 
    
    // CHANGE THE TWO LINES BELOW 
    $email_to = "[email protected]"; 
    
    $email_subject = "Subject Here"; 
    
    
    function died($error) { 
        // your error code can go here 
        echo "We are very sorry, but there were error(s) found with the form you submitted. "; 
        echo "These errors appear below.<br /><br />"; 
        echo $error."<br /><br />"; 
        echo "Please go back and fix these errors.<br /><br />"; 
        die(); 
    } 
    
    // validation expected data exists 
    if(!isset($_POST['first_name']) || 
        !isset($_POST['last_name']) || 
        !isset($_POST['email']) || 
        !isset($_POST['telephone']) || 
        !isset($_POST['comments'])) { 
        died('We are sorry, but there appears to be a problem with the form you submitted.');  
    } 
    
    $first_name = $_POST['first_name']; // required 
    $last_name = $_POST['last_name']; // required 
    $email_from = $_POST['email']; // required 
    $telephone = $_POST['telephone']; // not required 
    $comments = $_POST['comments']; // required 
    
    $error_message = ""; 
    $email_exp = '/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/'; 
        if(!preg_match($email_exp,$email_from)) { 
    $error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 
        } 
    
        $string_exp = "/^[A-Za-z .'-]+$/"; 
        if(!preg_match($string_exp,$first_name)) { 
        $error_message .= 'The First Name you entered does not appear to be valid.<br />'; 
        } 
    
        if(!preg_match($string_exp,$last_name)) { 
        $error_message .= 'The Last Name you entered does not appear to be valid.<br />'; 
    } 
    
        if(strlen($comments) < 2) { 
        $error_message .= 'The Comments you entered do not appear to be valid.<br />'; 
    } 
        if(strlen($error_message) > 0) { 
        died($error_message); 
        } 
        $email_message = "Form details below.\n\n"; 
    
    function clean_string($string) { 
        $bad = array("content-type","bcc:","to:","cc:","href"); 
        return str_replace($bad,"",$string); 
    } 
    
    $email_message .= "First Name: ".clean_string($first_name)."\n"; 
    $email_message .= "Last Name: ".clean_string($last_name)."\n"; 
    $email_message .= "Email: ".clean_string($email_from)."\n"; 
    $email_message .= "Telephone: ".clean_string($telephone)."\n"; 
    $email_message .= "Comments: ".clean_string($comments)."\n"; 
    
    
    $headers = 'From: '.$email_from."\r\n". 
    'Reply-To: '.$email_from."\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    @mail($email_to, $email_subject, $email_message, $headers); 
    ?> 
    
    Thank you for contacting us. 
    
    <?php 
    } 
    die(); 
    ?> 
    

    は、私は2つの質問や問題があります。メールを送信するためにサーバーやどこかで行うべきことは何ですか?なぜ私は電子メールを受け取っていないのですか?

  2. 私がcontactus.phpサイトでsubmitをクリックすると、「私たちに連絡していただきありがとうございます」というメッセージが表示されます。 sendemail.phpには、header.htmlとcontentsendemail.phpが含まれていますが、footer.htmlは含まれていません。 、

答えて

-1

は、私は両方がcontentsendemail.php

  1. @mail()がコアPHPには存在しないに常駐し、あなたの二つの問題に2つの答えを持っている(と私はその有効な関数の名前さえわかりません)あなたはmail()が欲しいです。
  2. die();は、その時点でスクリプトの実行を強制終了し、フッターを挿入する前に実行される行の後には解析されない/返されるものはありません。
+0

ご回答いただきありがとうございます。 2はうまくいった。私はdie()を取り除きました。今は私が望む結果を得ています。しかし、@ from @mail()を削除した後も、私はまだフォームから電子メールを受け取りません。 – Sam

関連する問題