如何在一天中单击一次后禁用提交按钮并在第二天使用php重新启用此按钮?

时间:2012-07-16 07:20:34

标签: php submit

我想在一天中点击一次后禁用用户的提交按钮,并在第二天重新启用此按钮。

   <input type="submit" class="myButton" id="option" value="submit"/>

我需要的是,当我点击提交按钮时,表单会提交并禁用当天的按钮。然后它仅在第二天为该用户重新填充。

3 个答案:

答案 0 :(得分:1)

好吧,你应该以某种方式存储如果单击按钮,如果是,则在什么日期/时间。或者只是保留日期和时间,如果它是空的(仅第一次),它还没有被按下,否则只需检查它是否比一天前更多或更少。

您可以将此值存储在数据库的文本文件中。

加载页面时,请执行以下伪代码:

<?
if ($dateLastPressed < $aDayAgo)
{
   echo '<input type="submit" class="myButton" id="option" value="submit" disabled = "disabled"/>';
}
else
{
   echo '<input type="submit" class="myButton" id="option" value="submit"/>';
}

答案 1 :(得分:0)

我想最简单的方法是将点击的时间和日期存储在数据库中。我将假设您的用户具有某种独特的身份,应该与点击的时间和日期一起存储。

当您为该用户呈现此特定表单时,请检查数据库记录,将日期和时间与当前日期和时间进行比较,然后根据比较结果显示该按钮。

<?php if ($dbRecord < $timeLimit) : ?>
   <input type="submit" class="myButton" id="option" value="submit" disabled = "disabled"/>
<?php else : ?>
   <input type="submit" class="myButton" id="option" value="submit"/>
<?php endif; ?>

您还需要在PHP脚本中进行某种验证,以确保用户不仅仅是在第一次提交表单后点击输入垃圾邮件。

答案 2 :(得分:0)

<form name="from" id="myForm"></form>

$('#myForm').bind('submit', function(){

$.ajax({
    type:'POST',
    cache:false,
    url:'/phpFiles/Form.php', //your path file
    data:$('#myForm').serializeArray(),
        success:function(data){
            var msg = $('.dearUserMsg');
            msg.slideDown(100, function(){
                msg.html(data);});// esse e a resposta do segundo form

        }
});
return false;
});


$('#myForm').bind('submit', function(){ // essa e a submit perfeito
$.ajax({
    type:'POST',
    cache:false,
    url:'secondForm.php',
    data:$('#myForm').serializeArray(),
        success:function(data){
            $.fancybox({
                content: data,
                width: '90%',
                height: '50%',
                scrolling: 'no',
                overlayColor: '#060',
                overlayOpacity: .3,
                transitionIn: 'elastic',
                transitionOut: 'elastic',
                easingIn: 'easeInSine',
                easingOut: 'easeOutSine',
                titlePosition: 'outside',
                hideOnOverlayClick: false,
                hideOnContentClick: false
            }); //('#mainTag')
        }
});return false;
});

<input type="submit" value="Submit" id="sButton" />
<div class="dearUserMsg" style="display:none"></div> 

不要忘记向slideDown工作显示无

并且它的内容相同,但响应将出现在fancybox中

在这两个示例中,提交按钮只能工作一次,按钮将正常