Formulir kontak dialihkan ke halaman yang tidak ditemukan saat kirim

16

Saya memiliki formulir kontak yang saya gunakan berkali-kali sebelumnya di situs non-WP lain tetapi tampaknya tidak berfungsi di situs WP saya saat ini , itu hanya mengarahkan Anda ke halaman yang tidak ditemukan.

Saya tidak ingin menggunakan plugin apa pun untuk membuatnya.

Berikut kodenya:

<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 = "[email protected]";
$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>
rampok
sumber
3
coba ganti bidang yang dinamai name="name"dengan yang lain.
Bainternet
Cemerlang, terima kasih. Frustasi ketika itu sesuatu yang sangat sederhana !! ps saya tidak dapat menandai Anda sebagai dijawab.
Rob
menambahkannya sebagai jawaban sehingga Anda dapat menandai pertanyaan ini sebagai dijawab.
Bainternet

Jawaban:

25

Saat berurusan dengan formulir, Anda perlu memastikan bahwa formulir Anda tidak memiliki beberapa nama yang diajukan spesifik seperti: nama, hari, bulan, tahun dan saya yakin beberapa lagi, jadi buatlah nama bidang formulir Anda lebih spesifik seperti: contact_name, contact_day, contact_month, contact_year.

dalam kasus Anda berubah name="name"menjadi hal lain.

Bainternet
sumber