Formularz kontaktowy przekierowujący na stronę nie został znaleziony podczas wysyłania


16

Mam formularz kontaktowy, z którego korzystałem już wiele razy na innych stronach bez WP, ale wydaje się, że nie działa na mojej bieżącej stronie WP , po prostu przekierowuje cię na stronę, której nie znaleziono.

Nie chcę używać żadnych wtyczek do ich tworzenia.

Oto kod:

<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
spróbuj zmienić pole o nazwie name="name"na coś innego.
Bainternet,

Świetnie, dzięki. Frustrujące, gdy jest to coś tak prostego !! ps Nie mogę oznaczyć cię jako odebraną.
Rob

dodał ją jako odpowiedź, aby można było zaznaczyć to pytanie jako odpowiedź.
Bainternet,

Odpowiedzi:


25

Podczas obsługi formularzy należy upewnić się, że formularz nie ma kilku konkretnych nazw plików, takich jak: imię, dzień, miesiąc, rok, i jestem pewien, że jeszcze kilka, więc doprecyzuj nazwy pól formularza, takie jak: contact_name, contact_day, contact_month, contact_year.

w twoim przypadku zmień name="name"na cokolwiek innego.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.