Select query for a login

时间:2015-06-19 作者:ci_lover

我正在尝试创建登录表单,但select query不起作用。WordPress中还有其他语法吗?密码以何种方式散列?我的代码是:

if ( isset( $_POST[\'submit\'] ) ) {
    if ( !$_POST[\'username\']  ) {
        echo "You did not complete all of the required fields";
    } else { 
        $username=$_POST[\'username\'];
        $password=$_POST[\'password\'];
        $query = $wpdb->get_row( "SELECT * FROM $wpdb->wp_users
            WHERE user_login=\'@admin\' && user_pass = \'some_pass\'" );
        if ( $query != null ) {
            echo "Login success";
            return true;
        } else {
            echo "incorrect pass or user";
            return false;
        }
    }
} 
?>
<form action="" method="post"/>
    <input type="text" name="username" placeholder="Username"/> 
    <input type="text" name="password" placeholder="Password"/><br> 
    <input type="submit" name="submit" value="Submit">
</form>

2 个回复
最合适的回答,由SO网友:Karun 整理而成

您可以使用wp_signon 作用

下面是一个示例

    $creds = array();
    $creds[\'user_login\'] = \'example\';
    $creds[\'user_password\'] = \'plaintextpw\';
    $creds[\'remember\'] = true;
    $user = wp_signon( $creds, false );
    if ( is_wp_error($user) )
        echo $user->get_error_message();

SO网友:Jaimish Jasani

您只需将其放入变量中,然后该变量调用查询即可。

  $table_name = $wpdb->prefix . "sign_up";
        $query = $wpdb->get_row( "SELECT * FROM $table_name
            WHERE email_id=\'".$username."\' && password = \'".$password."\'" );

结束

相关推荐

按数组wp_Query的顺序显示特定帖子

我在带有wp\\U查询的自定义模板中显示了一些特定的帖子ID。我正在努力找出如何使这些有序。我想先显示1682,最后显示1540。它们不会以这种方式显示,“orderby”=>$successful\\u musics\\u array对我不起作用。如何才能做到这一点? <?php $successful_musics_array = array(\'1682\', \'1684\', \'556\', \'1793\', \'558\', \'1788