从iPhone应用登录到wordpress

时间:2013-05-08 15:25:42

标签: php iphone ios wordpress

我正在为我的WordPress会员网站创建一个iPhone应用程序。在我的应用程序中,用户面对登录屏幕,他们输入用户名和密码,这些通过POST发送到我存储在服务器上的外部php页面。

我要做的是在外部php页面中检查用户的凭据。如果用户在wp数据库上注册并输入了正确的凭据,则发回“成功”响应,否则不执行任何操作。

我的问题是这不起作用。我正在使用wp_signon函数但由于某种原因is_wp_error($ user_verify)一直返回1.这是我的代码到目前为止,我真的很感谢你的帮助。

<?php $parse_uri = explode('apple', $_SERVER['SCRIPT_FILENAME']); //makes this page part of wordpress
$wp_load = $parse_uri[0].'wp-load.php';
require_once($wp_load);
global $wpdb;
global $current_user;

//####### THIS CODE IS RESPONSIBLE FOR A SECURE LOG IN INTO THE iPhone APP #############
header('Content-Type: application/json'); //matches the json content type the app is expecting

//SQL escape all inputs  
$username = $wpdb->escape($_POST['username']);  
$password = $wpdb->escape($_POST['password']);  

 $login_data = array();  
 $login_data['user_login'] = $username;  
 $login_data['user_password'] = $password;  
 $login_data['remember'] = true;
 $user_verify = wp_signon( $login_data, true);   

if (is_wp_error($user_verify) )   
{   
//DENY ACCESS : FAILURE 
 exit();  

} else  {
//$user_verify contains WP_User object 

//GRANT ACCESS : SUCCESS
 echo '[{"success":"true"}]'; 
exit();  

}  

?>

更新

经过一些测试,我上面提供的代码实际上功能完备,问题出在iOS端。

0 个答案:

没有答案