แบบฟอร์มการติดต่อที่เปลี่ยนเส้นทางไปยังหน้าไม่พบในการส่ง


16

ฉันมีแบบฟอร์มการติดต่อที่ฉันใช้หลายครั้งก่อนหน้านี้บนไซต์ที่ไม่ใช่ WP อื่น ๆ แต่ดูเหมือนจะไม่ทำงานบนไซต์ WP ปัจจุบันของฉันมันเพิ่งเปลี่ยนเส้นทางคุณไปยังหน้าที่ไม่พบ

ฉันไม่ต้องการใช้ปลั๊กอินใด ๆ เพื่อสร้าง

นี่คือรหัส:

<form class="form" method="POST" action="<?php the_permalink(); ?>">
    <table border="0" style="float:left;">
        <tbody>
            <tr>
                <td>
                <p>Company Name:</p>
                </td>
                <td>&nbsp;</td>
                <td><input type="text" name="companyname" id="companyname" /></td>
            </tr>
            <tr>
                <td>
                <p>Your Name:</p>
                </td>
                <td>&nbsp;</td>
                <td><input type="text" name="name" id="name" /></td>
            </tr>
            <tr>
                <td>
                <p>E-mail:</p>
                </td>
                <td>&nbsp;</td>
                <td><input type="text" name="email" id="email" /></td>
                <td colspan="2">&nbsp;</td>
            </tr>
            <tr>
                <td>
                <p>Telephone:</p>
                </td>
                <td>&nbsp;</td>
                <td><input type="text" name="tel" id="tel" /></td>
                <td colspan="2">&nbsp;</td>
            </tr>
        </tbody>
    </table>

    <table border="0" style="float:left;" width="450">
        <tbody>
            <tr>
                <td valign="top"><p style="margin-left:42px;margin-right:10px;margin-top:7px;">Enquiry:</p></td>
                <td><textarea name="enquiry"></textarea></td>
            </tr>
            <tr>
                <td colspan="2"><button class="blue medium awesome awesomeforward" type="submit" name="submit">Send message</button></td>
            </tr>
        </tbody>
    </table>        

<? if(isset($_POST['submit'])) { 

$to = "rob@teamworksdesign.com";
$subject = "Teamworks contact enquiry";
$companyname_field = $_POST['companyname'];
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$tel_field = $_POST['tel'];
$enquiry_field = $_POST['enquiry'];


$body = "Hello Teamworks,\n\n You have an enquiry from the website, please see the details below:\n\n Name: $name_field\n Company Name: $companyname_field\n E-Mail: $email_field\n Tel: $tel_field\n Message:\n $enquiry_field\n\n Please reply to the enquiry asap.\n\n Kind Regards \n The Teamworks Website";

mail($to, $subject, $body);

echo "</br>Thank you for getting in touch, we will contact you shortly.";

} ?>
</form>

3
ลองเปลี่ยนชื่อเป็นฟิลด์name="name"อื่น
Bainternet

ยอดเยี่ยมขอบคุณ น่าผิดหวังเมื่อมันเป็นอะไรที่ง่ายมาก !! ป.ล. ฉันไม่สามารถทำเครื่องหมายว่าคุณตอบแล้ว
Rob

เพิ่มเป็นคำตอบเพื่อให้คุณสามารถทำเครื่องหมายคำถามนี้เป็นคำตอบ
Bainternet

คำตอบ:


25

เมื่อต้องจัดการกับแบบฟอร์มคุณต้องตรวจสอบให้แน่ใจว่าแบบฟอร์มของคุณไม่มีชื่อเฉพาะบางอย่างเช่น: ชื่อ, วัน, เดือน, ปีและฉันแน่ใจว่าอีกสองสามชื่อ CONTACT_NAME, contact_day, contact_month, contact_year

ในกรณีของคุณเปลี่ยนname="name"เป็นอย่างอื่น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.