更新:
当用户访问我的网站时,我使用 .htaccess 将用户重定向到包含所有这些文件的特定文件夹 (/var/www/html/test)。.htaccess 看起来像这样
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule (?!^test(/.*|)$)^(.*)$ /test/$1 [NC,L]
</IfModule>
当我将所有文件移至 /var/www/html 并评论 .htaccess 行时。iphone 上的会话开始工作...我不知道为什么.. 有没有办法用 .htaccess 解决这个问题?
---- 更新结束 -----
我有一个调用用户登录函数的 ajax 函数,如果用户/密码正确,它会登录用户。它适用于台式机、笔记本电脑、三星 s3 手机,但不适用于 IPHONE!似乎没有在$this->session->set_userdata('current_email', $email);
IPHONE 上设置会话,因此将用户重定向回登录页面。我猜这可能是因为 iphone safari cookie 被自动禁用或类似的东西。解决此问题的最佳方法是什么,以便它可以在手机上使用?
阿贾克斯:
$.ajax({
url: site_url+"/user/login/"+email,
type: "post",
data: 'password='+password+'&email='+email,
success: function(response){
if(response == "success"){
window.location.href = site_url+"/user/invites";
}else{
alert("Password is not valid");
}
},
error: function(){
}
});
/user/login php codeigniter 函数
public function login($email)
{
$password = $this->input->post('password');
if($email != NULL){
$this->load->helper('string');
$this->load->model('user_model');
$this->load->library('session');
$user_status = $this->user_model->check_status($email, $password);
if (is_array($user_status) && $user_status['is_active']) {
$this->session->set_userdata('current_email', $email);
$this->session->set_userdata('user_id', $user_status['id']);
$this->session->set_userdata('unique_id', $user_status['unique_id']);
$this->session->set_userdata('is_active', 1);
echo "success"; die();
}
} die();
}
/用户/邀请
public function invites($unique_id = NULL)
{
if($this->session->userdata('current_email') != FALSE){
$data['unique_id'] = $this->session->userdata('unique_id');
$data['current_email'] = $this->session->userdata('current_email');
if($data['unique_id']){
$data['invited_users'] = $this->user_model->get_invited_users($this->session->userdata('user_id'));
$data['user_details'] = $this->user_model->get_user_details($this->session->userdata('user_id'));
$this->template->write_view('header', 'templates/header2', $data);
$this->template->write_view('content', 'invites', $data);
// Render the template
$this->template->render();
}else{
redirect('welcome/index/1','refresh');
}