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 = "[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>
rauben
quelle
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 .

Bainternet
quelle