Formulario de contacto que redirige a la página no encontrada en el envío

16

Tengo un formulario de contacto que utilicé muchas veces antes en otros sitios que no son de WP, pero no parece funcionar en mi sitio de WP actual , simplemente lo redirige a una página que no se encuentra.

No quiero usar ningún complemento para crearlo.

Aquí está el código:

<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>
Robar
fuente
3
intente cambiar el campo nombrado name="name"a otra cosa.
Bainternet
Brillante, gracias. ¡Frustrante cuando es algo tan simple! PD: No puedo marcarte como respondido.
Rob
lo agregó como respuesta para que pueda marcar esta pregunta como respondida.
Bainternet

Respuestas:

25

Cuando se trata de formularios, debe asegurarse de que su formulario no tenga algunos nombres específicos archivados como: nombre, día, mes, año y estoy seguro de que hay algunos más, así que haga que los campos de sus nombres sean más específicos, como: contact_name, contact_day, contact_month, contact_year.

en su caso cambie name="name"a cualquier otra cosa.

Bainternet
fuente