2013-03-12 37 views
0

我在我的網站上有一個聯繫表單,然而無論何時點擊提交,我都沒有收到任何東西給我的電子郵件地址,雖然它確實表示它已經提交。PHP聯繫表格提交但沒有收到

的HTML如下:

<div id="contactform"> 
    <form name="contact" method="post" action="PHP/send_form_email.php"> 
    <ol> 
     <li><label>To </label> 
      <select name="emailaddress" id="emailaddress"> 
     <option value="0"></option> 
     <option value="1">General Queries</option> 
     <option value="2">Webmaster Queries</option> 
     </select> 
     </li> 
    <li><label for="name">Name</label> 
     <input type="text" name="name" id="name"></input> 
     </li> 
    <li><label for="email">Email</label> 
     <input type="text" name="email" id="email"></input> 
     </li> 
    <li><label for="subject">Subject</label> 
     <input type="text" name="subject" id="subject"></input> 
     </li> 
    <li><label for="message">Message</label> 
     <textarea name="message" id="message" cols="45" rows="5"></textarea> 
     </li> 
    <li> 
      <input name="submit" type="submit" class="submit" id="submit" value="submit"></input> 
     </li> 
    </ol> 
    </form> 
</div> 

和PHP是

<?php 
    if(isset($_POST['email'])) { 
     $subject = $_REQUEST['subject']; 
     $emailaddress[1] = "[email protected]"; 
    $emailaddress[2] = "[email protected]"; 
    $contactnameindex = $_REQUEST['emailaddress']; 
    if ($contactnameindex == 0 || !isset($_REQUEST['emailaddress'])) 
      die ("You did not   choose a recipient. Please hit your browser back button and try again."); 
    else 
      $emailaddress = $emailaddress[$contactnameindex]; 

    function died($error) { 
     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['name']) || 
     !isset($_POST['email']) || 
     !isset($_POST['subject']) || 
     !isset($_POST['message'])) { 
     died('We are sorry, but there appears to be a problem with the form you submitted.');  
    } 

    $name = $_POST['name']; // required 
    $email = $_POST['email']; // required 
    $subject = $_POST['subject']; // required 
    $message = $_POST['message']; // 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)) { 
     $error_message .= 'The Email Address you entered does not appear to be valid.<br />'; 
    } 
    $string_exp = "/^[A-Za-z .'-]+$/"; 
    if(!preg_match($string_exp,$name)) { 
     $error_message .= 'The Name you entered does not appear to be valid.<br />'; 
    } 
    if(strlen($message) < 2) { 
     $error_message .= 'The Message you entered does 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 .= "name: ".clean_string($name)."\n"; 
    $email_message .= "email: ".clean_string($email)."\n"; 
    $email_message .= "subject: ".clean_string($subject)."\n"; 
    $email_message .= "message: ".clean_string($message)."\n"; 


    // create email headers 
    $headers = 'From: '.$email_from."\r\n". 
    'Reply-To: '.$email_from."\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    @mail($email_to, $email_subject, $email_message, $headers); 
?> 



<!-- include your own success html here --> 

Thank you for contacting us. We will be in touch with you very soon. 

<?php 
} 
?> 

很顯然,我已經使用不EMAIL1和EMAIL2電子郵件地址,但我已經檢查的實際地址我已經使用,他們都輸入正確,任何人都可以幫助嗎?

+0

你嘗試檢查'的print_r($ _ POST);'價值? – Peon 2013-03-12 11:39:04

+0

使用'if(郵件())'來檢查它是否發送郵件 – 2013-03-12 11:40:59

+0

用@mail來抑制郵件錯誤是件壞事。 – 2013-03-12 11:41:40

回答

0

您的$email_to$email_subject在您的mail()未定義。

@mail($email_to, $email_subject, $email_message, $headers); 

$email_to也許應該$emailaddress,基於斷

else $emailaddress = $emailaddress[$contactnameindex]; 

和你$email_subject也許應該clean_string($subject),基於斷

$subject = $_POST['subject']; 

所以像 -

@mail($emailaddress, clean_string($subject), $email_message, $headers); 
+0

我試過更改 @mail($ email_to,$ email_subject,$ email_message,$ headers); ($ emailaddress,clean_string($ subject),$ email_message,$ headers); 但它並沒有幫助,於是我從前面刪除了@符號作爲另一個評論建議,但它似乎沒有改變任何東西。 不幸的是,我對PHP非常陌生,儘管之前我已經完成了CSS和HTML,但這對我來說是全新的,所以我在編碼的其他位置看起來有些遺憾。 – 2013-03-12 14:18:44

0
<?php 

    require_once "../common/lib.config.php"; 
    require_once "../classess/class.GymFacility.php"; 

    $Fobj= new GymFacility(); 

    if(!$_GET['iDisplayStart']) 
     $StartIndex = 0; 
    else 
     $StartIndex = $_GET['iDisplayStart']; 

    if(!$_GET['iDisplayLength']) 
     $Limit = 10; 
    else 
     $Limit = $_GET['iDisplayLength']; 

    $result=$Fobj->GetAllGymFacility(); 

    $row=array(); 
    $link=""; 

    for($i=0;$i<count($result);$i++) 
    { 
     $link="&nbsp;&nbsp;&nbsp; <a id='addv' href=javascript:loadpg('gym_facility_v0/form_facility.php?id=".$result[$i]['refid']."')> <img src='../images/icons/middlenav/create.png' class='listimg' title='Edit '></a>&nbsp;&nbsp;<a id='addv' href=javascript:deleteitem('gym_facility_v0/delete_facility.php?id=".$result[$i]['refid']."')> <img src='../images/icons/middlenav/close.png' class='listimg' title='delete '></a> "; 
     $row[]=array($i+1,$result[$i]['gymfacilities'],$link); 

    } 

    $totacnt=count($result); 
    $fltcnt=count($result); 

    $output = array(
     "sEcho" => intval($_GET['sEcho']), 
     "iTotalRecords" => $totacnt, 
     "iTotalDisplayRecords" =>$fltcnt , 
     "aaData" => $row); 

    echo json_encode($output); 

?> 

<?php 
    require_once "../common/lib.config.php"; 
    require_once "../classess/class.GymFacility.php"; 

    $F=new GymFacility(); 

    $id=$_GET['id']; 
    $IpArr['stat']='R'; 
    $result=$F->DeleteGymFacility($IpArr,$id); 
    echo "gym_facility_v0/facility.php"; 

?> 





<?php 
    require_once "../common/lib.config.php"; 
    require_once "../classess/class.QueryBuilder.php"; 

    class GymFacility extends QueryBuilder 
    { 
     public function GymFacility() 
     { 
      parent::__construct(); 
     } 

     public function AddGymFacility($IpArr) 
     {   
      if(!$this->IsExist($IpArr['gymfacilities'],$refid=0)){ 
      $this->SetTable('gymfacility'); 
      $this->AddFlds($IpArr); 
      return $this->AddQuery(); 
      } 
      return 'E'; 

     } 

     public function EditGymFacility($IpArr, $Refid) 
     { 
      if(!$this->IsExist($IpArr['gymfacilities'],$Refid)){ 
      $this->SetTable('gymfacility'); 
      $this->AddFlds($IpArr); 
      $this->SetWhere("refid = '{$Refid}'"); 
      $this->UpdQuery(); 
      return $Refid; 
      } 
      return 'E'; 
     } 

     public function UpdateGymFacility($IpArr, $Refid) 
     { 
       $this->SetTable('gymfacility'); 
       $this->AddFlds($IpArr); 
       $this->SetWhere("refid = '{$Refid}'"); 
       $this->UpdQuery(); 
       return $Refid; 
     } 

     public function DeleteGymFacility($IpArr, $Refid) 
     { 
       $this->SetTable('gymfacility'); 
       $this->AddFlds($IpArr); 
       $this->SetWhere("refid = '{$Refid}'"); 
       $this->UpdQuery(); 
       return $Refid; 
     } 


     public function GetAllGymFacility() 
     { 
      $this->SetTable('gymfacility'); 
      $this->SetResultFlds("*"); 
      $this->SetWhere("stat != 'R'"); 
      $Res = $this->GetQuery(); 
      return $Res; 
     } 
     public function GetGymFacilityById($refid) 
     { 
      $this->SetTable('gymfacility'); 
      $this->SetResultFlds('*'); 
      $this->SetWhere("stat != 'R' AND refid = '{$refid}' "); 
      $Res = $this->GetQuery(); 
      return $Res; 
     } 
     public function IsExist($card_id, $refid) 
     { 
      $this->SetTable('gymfacility'); 
      $this->SetResultFlds('*'); 
      $this->SetWhere("gymfacilities = '{$card_id}' AND stat != 'R' AND refid !={$refid}"); 
      $res=$this->GetQuery(); 
      return count($res); 
     } 

    } 
?> 

CSSS

.title { 
font-size: 20px; 
color: #0C0; 
} 

body { 
margin: 0; 
padding: 0; 
background: #FFF; 
font-size: 12px; 
color: #424242; 
font-family: Arial, Helvetica, sans-serif; 
line-height: 20px; 
min-height: 100%; 
position: relative; 


rowElem { 
clear: both; 
border-top: 1px solid #e7e7e7; 
padding: 10px 16px; 
position: relative; 
} 

content { 
padding-bottom: 80px; 
overflow: hidden; 
} 
content { 
padding-bottom: 80px; 
overflow: hidden; 
} 


fieldset { 
display: block; 
-webkit-margin-start: 2px; 
-webkit-margin-end: 2px; 
-webkit-padding-before: 0.35em; 
-webkit-padding-start: 0.75em; 
-webkit-padding-end: 0.75em; 
-webkit-padding-after: 0.625em; 
border: 2px groove threedface; 
border-image-source: initial; 
border-image-slice: initial; 
border-image-width: initial; 
border-image-outset: initial; 
border-image-repeat: initial; 
min-width: -webkit-min-content; 
} 

title { 
font-size: 20px; 
color: #0C0; 
} 

greyishBtn:hover { 
background-position: 0 -25px; 
} 


button { 
font-size: 10px; 
font-weight: bold; 
text-transform: uppercase; 
padding: 5px 14px 6px 14px; 
cursor: pointer; 
font-family: Arial, Helvetica, sans-serif; 
line-height: 12px; 
} 
.submitForm { 
float: right; 
margin: 1px 27px 1px 16px; 
} 
.greyishBtn { 
background: url(../images/ui/greyishBtn.png) repeat-x 0 0; 
border: 1px solid #4f5a68; 
color: #fff; 
} 
div { 
display: block; 
}