将php验证表单实现到front-page.php wordpress中

时间:2016-08-29 08:07:56

标签: php wordpress

我在这里有一个表单,我试图在我的WordPress网站的首页PHP文件上验证,每当我点击提交时它都会把我带到一个帖子"页面找不到",为什么它甚至离开页面?我不确定我的代码有什么问题,我认为提交按钮一定不对,它不应该离开页面。

也许我没有以正确的方式实现PHP代码。 HTML表单在开头,PHP代码在最后。

<form id="contact-form"  method="post">
                    <ul>
                        <li class="desc">Email</li>

                            <li><input placeholder="i.e.email@email.com" type="" name="email" id="form_email">
                            <span><?php echo $email_error ?></span></li>

                        <li class="desc">First Name</li>

                            <li><input type="text" name="firstName" id="form_firstName" ><span><?php echo $firstName_error ?></span></li>

                        <li class="desc" >Last Name</li>
                            <li><input type="text" name="lastName" id="form_lastName"><span><?php echo $lastName_error ?></span></li>

                        <li class="desc">Company Name</li>
                            <li><input type="text" name="companyName" id="form_companyName"><span><?php echo $companyName_error ?></span></li>

                        <li class="desc">Phone</li>
                            <li><input type="integer" name="phone" id="form_phone"><span><?php echo $phone_error ?></span></li>

                        <li><button name="name" value="submit" type="submit"></button><!--<a href="" id="sub"><img src="images/downloadbutton.png"><input type="hidden" name="submit" value="submit"/></a>--></li>

                    </ul>
                </form>
                <?php
            if(!empty($_POST['email']) && !empty($_POST['firstName']) && !empty($_POST['lastName']) && !empty($_POST['companyName']) && !empty($_POST['phone'])) {
$email = $_POST['email'];
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];
$companyName = $_POST['companyName'];
$phone = $_POST['phone'];

if(strlen($email)<5) {
    $email_error = '*';
}
elseif (strlen($firstName)<1) {
    $firstName_error = '*';
}
elseif (strlen($lastName)<1) {
    $lastName_error = '*';
}
elseif (strlen($companyName)<1) {
    $companyName_error = '*';
}
elseif (strlen($phone)<10) {
    $phone_error = '*';
}
else{
    echo " <ul>
            <li>email           : $email </li>
            <li>First Name      : $firstName</li>
            <li>Last Name       : $lastName</li>
            <li>Company Name    : $companyName</li>
            <li>Phone           : $phone</li>
          </ul>
          ";
}
}

else{
        $email_error = '*';
        $firstName_error = '*';
        $lastName_error = '*';
        $companyName_error = '*';
        $phone_error = '*';
}
?>

1 个答案:

答案 0 :(得分:0)

您可以尝试添加表单操作,例如

action='<?= get_permalink(page_id); ?>'

page_id =处理表单的页面,可能是显示表单的同一页面。

日Thnx