将重复条目捕获在寄存器数据中
我有一个注册表格,然后这将在我以表格注册帐户后阅读的内容,
$('#manage-user').submit(function(e){
e.preventDefault();
start_loader()
$.ajax({
url:_base_url_+'classes/Users.php?f=register',
data: new FormData($(this)[0]),
cache: false,
contentType: false,
processData: false,
method: 'POST',
type: 'POST',
success:function(resp){
if(resp ==1){
alert('Registration Successful. You may now log-in.')
window.location.reload()
}else{
$('#msg').html('<div class="alert alert-danger">Email already exist</div>')
end_loader()
}
}
})
})
这是我的功能。
public function register(){
extract($_POST);
$data = '';
foreach($_POST as $k => $v){
if(!in_array($k,array('id','password'))){
if(!empty($data)) $data .=" , ";
$data .= " {$k} = '{$v}' ";
}
}
if(!empty($password)){
$password = md5($password);
if(!empty($data)) $data .=" , ";
$data .= " `password` = '{$password}' ";
}
if(isset($_FILES['img']) && $_FILES['img']['tmp_name'] != ''){
$fname = 'uploads/'.strtotime(date('y-m-d H:i')).'_'.$_FILES['img']['name'];
$move = move_uploaded_file($_FILES['img']['tmp_name'],'../'. $fname);
if($move){
$data .=" , avatar = '{$fname}' ";
if(isset($_SESSION['userdata']['avatar']) && is_file('../'.$_SESSION['userdata']['avatar']))
unlink('../'.$_SESSION['userdata']['avatar']);
}
}
if(empty($id)){
$data .= " ,`type` = '2' ";
$qry = $this->conn->query("INSERT INTO users set {$data}");
if($qry){
return 1;
}else{
return 2;
}
}else{
$qry = $this->conn->query("UPDATE users set $data where id = {$id}");
if($qry){
$this->settings->set_flashdata('success','User Details successfully updated.');
foreach($_POST as $k => $v){
if($k != 'id'){
if(!empty($data)) $data .=" , ";
$this->settings->set_userdata($k,$v);
}
}
if(isset($fname) && isset($move))
$this->settings->set_userdata('avatar',$fname);
return 1;
}else{
return "UPDATE users set $data where id = {$id}";
}
}
}
当我添加此行时,
$user_check_query = "SELECT * FROM users WHERE username='$username' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);
它促使电子邮件已经存在,但仍创建一个帐户,我需要添加或更改什么? 我是编码的初学者,所以我真的不知道该怎么办..
任何人都可以帮我谢谢
I have a registration form then this will what it read after i register a account in the form
$('#manage-user').submit(function(e){
e.preventDefault();
start_loader()
$.ajax({
url:_base_url_+'classes/Users.php?f=register',
data: new FormData($(this)[0]),
cache: false,
contentType: false,
processData: false,
method: 'POST',
type: 'POST',
success:function(resp){
if(resp ==1){
alert('Registration Successful. You may now log-in.')
window.location.reload()
}else{
$('#msg').html('<div class="alert alert-danger">Email already exist</div>')
end_loader()
}
}
})
})
This is my function.
public function register(){
extract($_POST);
$data = '';
foreach($_POST as $k => $v){
if(!in_array($k,array('id','password'))){
if(!empty($data)) $data .=" , ";
$data .= " {$k} = '{$v}' ";
}
}
if(!empty($password)){
$password = md5($password);
if(!empty($data)) $data .=" , ";
$data .= " `password` = '{$password}' ";
}
if(isset($_FILES['img']) && $_FILES['img']['tmp_name'] != ''){
$fname = 'uploads/'.strtotime(date('y-m-d H:i')).'_'.$_FILES['img']['name'];
$move = move_uploaded_file($_FILES['img']['tmp_name'],'../'. $fname);
if($move){
$data .=" , avatar = '{$fname}' ";
if(isset($_SESSION['userdata']['avatar']) && is_file('../'.$_SESSION['userdata']['avatar']))
unlink('../'.$_SESSION['userdata']['avatar']);
}
}
if(empty($id)){
$data .= " ,`type` = '2' ";
$qry = $this->conn->query("INSERT INTO users set {$data}");
if($qry){
return 1;
}else{
return 2;
}
}else{
$qry = $this->conn->query("UPDATE users set $data where id = {$id}");
if($qry){
$this->settings->set_flashdata('success','User Details successfully updated.');
foreach($_POST as $k => $v){
if($k != 'id'){
if(!empty($data)) $data .=" , ";
$this->settings->set_userdata($k,$v);
}
}
if(isset($fname) && isset($move))
$this->settings->set_userdata('avatar',$fname);
return 1;
}else{
return "UPDATE users set $data where id = {$id}";
}
}
}
When i add this line
$user_check_query = "SELECT * FROM users WHERE username='$username' LIMIT 1";
$result = mysqli_query($db, $user_check_query);
$user = mysqli_fetch_assoc($result);
It prompt Email already Exist but still create a account what do i need to add or change?
im a beginner in coding so i dont really know what to do..
Can anyone help me thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论