检查POST方法表单中的$_POST字段

时间:2019-08-30 作者:Matteo Feduzi

我试图检查登录表单中是否存在用户名和密码字段。

问题是if (!empty ($_POST)) 代码不会对我这样做。

UPDATE:

if (isset($_POST[\'submit-btn\'])) {

    //Sanitize POST Array
    $POST = filter_var_array($_POST, FILTER_SANITIZE_STRING);

    $username = $POST[\'username\'];
    $password = $POST[\'password\'];

    if(empty($username)) {
        echo "Username o email non inserita"; 
        return false;
    }

    if(empty($password)) {
        echo "Password non inserita"; 
        return false;
    }

    if($username && $password) {

        $login_array = array();
        $login_array[\'user_login\'] = $username;
        $login_array[\'user_password\'] = $password;

        $verify_user = wp_signon($login_array, true);
        if (!is_wp_error($verify_user)) {
            echo "<script>window.location = \'" . site_url() . "\'</script>";
        } else {
            echo \'Credenziali non valide!\';
        }
    }
}
相反,这是同一页面上的登录表单,即“我的登录”。php页面:

<form id="wp_login_form" action="/login/" method="post">
    <label class="my-username" >Username o Email</label>
    <input type="text" name="username" class="info-login" value="" placeholder="[email protected]">
    <label class="my-password" >Password</label>
    <input type="password" name="password" class="info-login" value="" placeholder="******">
    <label> 
    <input class="myremember" name="rememberme" type="checkbox" value="forever"><span class="hey">Remember me</span>
    </label> 
    <button type="submit" id="submitbtn" name="submit-btn" value="Login">Login</button>
</form>
非常感谢那些帮助我的人。顺致敬意,

1 个回复
SO网友:Chetan Vaghela

如果要检查用户名和密码字段,请尝试以下代码

if (isset($_POST[\'submit-btn\'])) {
    $username = filter_var($_POST[\'username\'], FILTER_SANITIZE_STRING);
    $password = filter_var($_POST[\'password\'], FILTER_SANITIZE_STRING);
    if(empty($username))
    {
        echo "Username empty"; return false;
    }
    if(empty($password))
    {
        echo "Password empty"; return false;
    }

    if($username && $password)
    {
        $login_array = array();
        $login_array[\'user_login\'] = $username;
        $login_array[\'user_password\'] = $password;

        $verify_user = wp_signon($login_array, true);
        if (!is_wp_error($verify_user)) {
            echo "<script>window.location = \'" . site_url() . "\'</script>";
        } else {
            echo \'Credenziali non valide!\';
        }
    }
}
如果这对你有用,请告诉我!

相关推荐

还原MySQL数据库后出现内部服务器错误

我刚刚更换了我个人网站的主机,该网站使用WordPress运行。在迁移之前,我对MySQL数据库进行了备份,并将相同的备份上载到我的新数据库。网站显示正常,但我无法登录。它不会检测到我的旧用户名和密码,当我通过“忘记密码”请求新密码时第节,我遇到以下错误:内部服务器错误服务器遇到内部错误或配置错误,无法完成您的请求。如何修复此错误?我尝试了以下列表中的解决方案,但均无效:https://wwwi.wpbeginner.com/wp-tutorials/how-to-fix-the-internal-ser