自定義Wordpress頁面與聯系表格

[英]Custom Wordpress Page With Contact Form


I am trying to create a contact form for a Wordpress site. FYI: The client wants the form to be static so they don't need to be able to change it in the future. I found this form online. I put it into my custom page in Wordpress. I also put a mail.php file on my server. When I click submit it hijacks me to my homepage/main theme page and my message is never sent. I don't understand why it takes me to the homage an how I fix this.

我正在嘗試為Wordpress網站創建聯系表單。僅供參考:客戶希望表單是靜態的,以便將來不需要更改它。我在網上找到了這個表格。我把它放在Wordpress的自定義頁面中。我還在我的服務器上放了一個mail.php文件。當我點擊提交時,它將我劫持到我的主頁/主題頁面,我的消息從未發送過。我不明白為什么我要向我致敬,如何解決這個問題。

enter image description here

<table width="400" border="0" align="center" cellpadding="3" cellspacing="1">
<tr>
<td><strong>Contact Form </strong></td>
</tr>
</table>
<table width="400" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td><form name="form1" method="post" action="mail.php">
<table width="100%" border="0" cellspacing="1" cellpadding="3">
<tr>
<td width="16%">Subject</td>
<td width="2%">:</td>
<td width="82%"><input name="subject" type="text" id="subject" size="50"></td>
</tr>
<tr>
<td>Detail</td>
<td>:</td>
<td><textarea name="detail" cols="50" rows="4" id="detail"></textarea></td>
</tr>
<tr>
<td>Name</td>
<td>:</td>
<td><input name="name" type="text" id="name" size="50"></td>
</tr>
<tr>
<td>Email</td>
<td>:</td>
<td><input name="customer_mail" type="text" id="customer_mail" size="50"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Submit"> <input type="reset" name="Submit2" value="Reset"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>

Mail.php

<?php

// Contact subject
$subject ="$subject"; 

// Details
$message="$detail";

// Mail of sender
$mail_from="$customer_mail"; 

// From 
$header="from: $name <$mail_from>";

// Enter your email address
$to ='someone@somewhere.com';
$mail=mail($to,$subject,$message,$header);

// Check, if message sent to your email 
// display message "We've recived your information"
if($mail){
echo "We've recived your contact information";
}
else {
echo "ERROR";
}
?>

1 个解决方案

#1


0  

This is the simplest form, it's open to injection..

這是最簡單的形式,它是開放注射..

$subject ="write something here";

// Details 
$message = "write something here";

// Mail of sender 
$mail_from = $_POST['customer_mail'];

// From 
$header="fromfrom: yourname <yourdomain@yourdomain.con>";

// Enter your email address 
$to ='$mail_from';

And put the rest of the code after it..

並把其余的代碼放在它之后..

EDIT:

$subject = $_POST['details'];

// Mail of sender 
$mail_from = $_POST['customer_mail'];

// From 
$name = $_POST['name'];

// Details 
$message = 'E-mail sent from: '.$mail_from.'\r\nName: '.$nane.'\r\n'.$_POST['details'];

// Enter your email address 
$to ='yourdomain@yourdomain.com';

$mail=mail($to,$subject,$message);

FINAL EDIT:

  <?

if (isset($_POST['customer_mail'])) {

  $subject = $_POST['detail'];

  // Mail of sender 
  $mail_from = $_POST['customer_mail'];

  // From 
  $name = $_POST['name'];

  // Details 
  $message = 'E-mail sent from: '.$mail_from.'\r\nName: '.$name.'\r\n'.$_POST['detail'];

  // Enter your email address 
  $to ='yourdomain@yourdomain.com'; //edit this

  $mail=mail($to,$subject,$message);

  echo "Your mail has been sent";

} else {

?>

<table width="400" border="0" align="center" cellpadding="3" cellspacing="1"> 
  <tr> 
    <td><strong>Contact Form </strong></td> 
  </tr> 
</table> 

<table width="400" border="0" align="center" cellpadding="0" cellspacing="1"> 
  <tr> 
    <td>
      <form name="form1" method="post" action="<? echo $_SERVER['PHP_SELF']; ?>"> 

        <table width="100%" border="0" cellspacing="1" cellpadding="3"> 
          <tr>   
            <td width="16%">Subject</td> 
            <td width="2%">:</td> 
            <td width="82%">
              <input name="subject" type="text" id="subject" size="50">
            </td> 
          </tr> 
          <tr> 
            <td>Detail</td> 
            <td>:</td> 
            <td>
              <textarea name="detail" cols="50" rows="4" id="detail"></textarea>
            </td> 
          </tr> 
          <tr> 
            <td>Name</td> 
            <td>:</td> 
            <td>
              <input name="name" type="text" id="name" size="50">
            </td> 
          </tr> 
          <tr> 
            <td>Email</td> 
            <td>:</td> 
            <td>
              <input name="customer_mail" type="text" id="customer_mail" size="50">
            </td> 
          </tr> 
          <tr> 
            <td>&nbsp;</td> 
            <td>&nbsp;</td> 
            <td>
              <input type="submit" name="Submit" value="Submit"> 
              <input type="reset" name="Submit2" value="Reset">
            </td> 
          </tr> 
        </table> 
      </form> 
    </td> 
  </tr> 
</table>


<?
}
?>

注意!

本站翻译的文章,版权归属于本站,未经许可禁止转摘,转摘请注明本文地址:https://www.itdaan.com/blog/2013/07/24/3323ef7d0dd54edc909294b5ea711b84.html



 
  © 2014-2022 ITdaan.com