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

时间:2014-09-19 06:39:00

标签: php mysql ajax

我有两个按钮(登录和注销)。当注销处于活动状态时,如果用户再次单击注销按钮,则不应进行插入或更新。登录按钮也一样。

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

提前致谢。

代码:

<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(&#34;亚/加尔各答&#34);     $ date = date(&#34; Y-m-d&#34;,time());?&gt;

<?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 个答案:

答案 0 :(得分:0)

您可以通过使用简单的JavaScript代码首次单击后禁用按钮来阻止用户第二次连续点击按钮。

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