Kontaktformular, das zur Seite weiterleitet, die beim Senden nicht gefunden wurde


16

Ich habe ein Kontaktformular, das ich schon oft auf anderen Nicht-WP-Sites verwendet habe, aber es scheint auf meiner aktuellen WP-Site nicht zu funktionieren. Es leitet Sie nur zu einer Seite weiter, die nicht gefunden wurde.

Ich möchte keine Plugins verwenden, um es zu erstellen.

Hier ist der Code:

<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
Versuchen Sie, das benannte Feld name="name"in ein anderes Feld zu ändern .
Bainternet

Genial, danke. Frustrierend, wenn es so einfach ist !! ps Ich kann dich nicht als beantwortet markieren.
Rob

hat es als Antwort hinzugefügt, damit Sie diese Frage als beantwortet markieren können.
Bainternet

Antworten:


25

Wenn Sie sich mit Formularen befassen, müssen Sie sicherstellen, dass Ihr Formular keine bestimmten Dateinamen hat, wie: Name, Tag, Monat, Jahr, und ich bin sicher, dass ein paar weitere Namen vorhanden sind. Kontaktname, Kontakttag, Kontaktmonat, Kontaktjahr.

in deinem Fall name="name"zu etwas anderem wechseln .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.