【问题标题】:Implementing php validation form into front-page.php wordpress在front-page.php wordpress中实现php验证表单
【发布时间】:2016-08-29 08:07:56
【问题描述】:

我在这里有一个表单,我试图在我的 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 = '*';
}
?>

【问题讨论】:

    标签: php wordpress


    【解决方案1】:

    您可以尝试添加类似的表单操作

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

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

    谢谢

    【讨论】:

    • 感谢您的回答。我是否必须将页面 id 更改为 front-page.php?
    • 不会action default to an empty string(当前页面)?
    • 我相信这是正确的。虽然我最终将它添加到functions.php
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多