如何解决列“电子邮件”不能为空
我的 Google 身份验证 API 出现错误
Message: Trying to access array offset on value of type null
Line Number: 91
Line Number: 92
Line Number: 93
Line Number: 94
错误编号:1048
“email”列不能为空
INSERT INTO user
(name
,password
,email
,role
,join_date
,last_login
) VALUES (' ','d41d8cd98f00b204e9800998ecf8427e',NULL,'订阅者','2021-06-24 00:39:59','2021-06-24 00:39:59')
文件名:controllers/User.PHP 行号:153
USER.PHP(从第 85 行开始)
public function google_login(){
if(isset($_GET['code'])){
//$this->google->authenticate();
$get_user_info = $this->google->get_user_info($_GET['code']);
//var_dump($get_user_info);
$user_info['oauth_provider'] = 'google';
$user_info['oauth_uid'] = $get_user_info['id'];
$user_info['first_name'] = $get_user_info['given_name'];
$user_info['last_name'] = $get_user_info['family_name'];
$user_info['email'] = $get_user_info['email'];
$user_info['gender'] = !empty($get_user_info['gender'])?$get_user_info['gender']:'';
$user_info['locale'] = !empty($get_user_info['locale'])?$get_user_info['locale']:'';
$user_info['profile_url'] = !empty($get_user_info['link'])?$get_user_info['link']:'';
$user_info['picture_url'] = !empty($get_user_info['picture'])?$get_user_info['picture']:'';
$this->varify_social_user_info($user_info);
redirect('user/profile/');
}
redirect('user/login/');
}
public function facebook_login(){
if($this->facebook->is_authenticated()){
$get_user_info = $this->facebook->request('get','/me?fields=id,first_name,last_name,email,gender,locale,picture');
// Preparing data for database insertion
$user_info['oauth_provider'] = 'facebook';
$user_info['oauth_uid'] = $get_user_info['id'];
$user_info['first_name'] = $get_user_info['first_name'];
$user_info['last_name'] = $get_user_info['last_name'];
$user_info['email'] = $get_user_info['email'];
$user_info['gender'] = $get_user_info['gender'];
$user_info['locale'] = $get_user_info['locale'];
$user_info['profile_url'] = 'https://www.facebook.com/'.$get_user_info['id'];
$user_info['picture_url'] = $get_user_info['picture']['data']['url'];
$this->varify_social_user_info($user_info);
redirect('user/profile/');
}
redirect('user/login/');
}
public function varify_social_user_info($user_info=''){
$query = $this->db->get_where('user',array('email'=>$user_info['email']));;
$row = $query->row();
$num_rows = $query->num_rows();
if ($num_rows > 0) {
$this->session->set_userdata('login_status','1');
$this->session->set_userdata('user_id',$row->user_id);
$this->session->set_userdata('name',$row->name);
$this->db->where('user_id',$row->user_id);
$this->db->update('user',array(
'last_login' => date('Y-m-d H:i:s')
));
if($row->role=='admin'){
$this->session->set_userdata('admin_is_login','1');
$this->session->set_userdata('login_type','admin');
}
if($row->role=='subscriber'){
$this->session->set_userdata('user_is_login','subscriber');
}
}else{
$name = $user_info['first_name'].' '.$user_info['last_name'];
$data['name'] = $name;
$data['password'] = md5($user_info['email']);
$data['email'] = $user_info['email'];
$data['role'] = 'subscriber';
$data['join_date'] = date('Y-m-d H:i:s');
$data['last_login'] = date('Y-m-d H:i:s');
$this->db->insert('user',$data);
$user_id = $this->db->insert_id();
$trial_enable = $this->db->get_where('config',array('title'=>'trial_enable'))->row()->value;
if($trial_enable =='1'):
$this->subscription_model->create_trial_subscription($user_id);
endif;
//save user image
$source = $user_info['picture_url'];
$save_to = "uploads/user_image/".$user_id.".jpg";
$this->common_model->grab_image($source,$save_to);
//var_dump($source);
// create session
$this->session->set_userdata('login_status',$user_id);
$this->session->set_userdata('name',$name);
$this->db->where('user_id',array('last_login' => date('Y-m-d H:i:s')));
$this->session->set_userdata('user_is_login','1');
$this->session->set_userdata('login_type','subscriber');
}
return TRUE;
}
function exception_error_handler($errno,$errstr,$errfile,$errline ) {
throw new ErrorException($errstr,$errno,$errline);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。