我想在WordPress中为我的消费者进行自定义登录,但收到此错误:
WordPress database error: []
SELECT * FROM wp_members WHERE email='example@example.org' and password='5f4dcc3b5aa765d61d8327deb882cf99'
Wrong Username or Password
<?php
$email1 = $_POST['email'];
$password = $_POST['password'];
$encrypted_mypassword=md5($password);
$email = $_POST['email'];
$password = $_POST['password'];
if(isset($_POST['submit'])) {
global $wpdb;
$table_name = $wpdb->prefix . "members";
$wpdb->show_errors();
$sql= $wpdb->get_results(" SELECT * FROM $table_name WHERE email='$email1' and password='$encrypted_mypassword' ");
$wpdb->print_error();
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("email");
session_register("encrypted_mypassword");
header("location:login_success.php");
}
else {
echo "Wrong Username or Password";
}
}
?>
我做错了什么?提前谢谢。
答案 0 :(得分:0)
首次使用salt
时,请执行此操作 - http://www.md5rainbow.com/5f4dcc3b5aa765d61d8327deb882cf99
其次,您是否检查过您正在哈希的密码是否与数据库中的密码匹配(例如,用户不是用盐创建的?)
第三,不会导致您的问题,而是使用mysqli
。
编辑
第四个@andrewsi存在实际问题,代码中的$sql
var不包含您的查询。
答案 1 :(得分:0)
$sql= $wpdb->get_results ->remove this line
这从表中获取信息,因此$ sql现在不适合查询。
$result=mysql_query($sql)
这里的$ sql应该是
$sql=" SELECT * FROM $table_name WHERE email='$email1' and password='$encrypted_mypassword' "
答案 2 :(得分:0)
Wordpress $wpdb->get_results
会针对您的查询返回数据,您无法在mysql_query()
您可以使用count()
检查$sql
是否包含数据
$count=count($sql);
删除这些
/*
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
*/