UPDATE:會話變量沒有被保存在iPhone上
我用的.htaccess將用戶重定向到一個特定的文件夾(在/ var/www/html等/測試)是把所有這些文件時,他們訪問我的網站。 的的.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:
$.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(){
}
});
/用戶/登錄PHP笨功能
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');
}
它可能是一個緩存問題,請參閱我的更新回答可能的方法 –
您是否嘗試過使用本機php會話'$ _SESSION ['current_email'] = $ email'而不是codeigniters方法? – Jeemusu
@CodeCrack會話使用加密密鑰嗎?你可以發佈你的** config.php **關於會議請願書嗎? – sbaaaang