如果用户点击活动按钮,停止插入

问题描述:

我有两个按钮(登录和注销)。当注销活动时,如果用户再次点击注销按钮,则不应该插入或更新。登录按钮也一样。如果用户点击活动按钮,停止插入

现在,它会在用户单击活动按钮时进行插入。我需要避免这种情况。

在此先感谢。

代码:

<script> 
function insertDateTime(obj, id) 
{ 
$("[id^='"+obj.id+"']").css('background', '#FFFFFF').css('font-weight', 'normal').css('font-size', '14px').css('color', 'grey'); 
$(obj).css('background', '#D4B357').css('font-weight', 'bold').css('font-size', '15px').css('color', 'black'); 

if (window.XMLHttpRequest) { 
    xmlhttp=new XMLHttpRequest(); 
} else { // code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
} 

var params = "id="+id; 

xmlhttp.open("POST","insertdate.php",true); 

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
/* xmlhttp.setRequestHeader("Content-length", params.length); 
xmlhttp.setRequestHeader("Connection", "close");*/ 
xmlhttp.onreadystatechange=function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
     //alert(xmlhttp.responseText); 
    } 
}   
xmlhttp.send(params); 
} 
</script> 

getuser.php

<table> 
<tr> 
    <td> 
     <button id="btnSave" <?php if($entry=='1'){?> style=" background:#D4B357; font-weight:bold; font-size:15px; color:black;outline:0px;"<?php }?> onclick="insertDateTime(this,'<?php echo $q;?>');"> Login</button> 
    </td> 
    <td> 
     <button id="btnSave" <?php if($entry=='0'){?> style=" background:#D4B357; font-weight:bold; font-size:15px;color:black;outline:0px;"<?php }?> onclick="insertDateTime(this,'<?php echo $q;?>');"> Logout</button> 
    </td> 
</tr> 
</table> 

insertdate.php date_default_timezone_set( “亚/加尔各答”); $日期=日期(“年月日”,时间());?>

<?php $time=date("H:i:s",time()); 
include_once "database.php"; 
$q = $_POST['id']; 

$sql_check="select * from entries where user_id='$q' order by id desc";/*last row*/ 
$res_check=mysql_query($sql_check); 
$row=mysql_fetch_array($res_check); 
$logout_date=$row['logout_date']; 
$num=mysql_num_rows($res_check); 
$id=$row['id']; 

if($logout_date != "" || $num=='0'){ 
$sql1="insert into entries(user_id,login_date,login_time,logout_date,logout_time)values('$q','$date','$time','','')"; 
$res1=mysql_query($sql1); 
$sql="update users set entry='1' where id='$q'"; 
$res=mysql_query($sql); 
} 
else{ 
$sql="update entries set logout_date='$date', logout_time='$time' where id='$id'"; 
$res=mysql_query($sql); 
$sql1="update users set entry='0' where id='$q'"; 
$res1=mysql_query($sql1); 
} 
+1

**危险**:您正在使用[an **过时的**数据库API](http://*.com/q/12859942/19068),并应使用[现代替换](http:// php.net/manual/en/mysqlinfo.api.choosing.php)。你也**易受[SQL注入攻击](http://bobby-tables.com/)**,现代的API会使[防御]更容易(http://*.com/questions/60174/best-way-to-prevent-sql-injection-in-php)自己从。 – Quentin 2014-09-19 06:40:06

+0

任何人请帮助 – user2372469 2014-09-19 08:45:22

您可以点击按钮第二通过使用简单的JavaScript首次点击后,禁用按钮停止用户和连续四次码。

一旦操作完成,您可以启用按钮(或将其隐藏起来用于登录/注销)。

+0

嗨丹尼尔,感谢您的答复。我不擅长JavaScript。如果你能为我提供代码,这将是非常有帮助的。 – user2372469 2014-09-19 06:53:24