Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何只允许每个用户发布一篇文章?_Php_Javascript_Udid - Fatal编程技术网

Php 如何只允许每个用户发布一篇文章?

Php 如何只允许每个用户发布一篇文章?,php,javascript,udid,Php,Javascript,Udid,以下是添加到数据库的代码: <?php /*Config*/ 使用一些漂亮的jQuery或js,您可以在用户提交表单后隐藏表单。听起来应该可以很容易地使用jQuery或js完成 只需使用sessions并设置一个session变量(称为post或其他),如果该变量已设置,则不允许用户发布(隐藏submit按钮或在javascript中使用PHP if语句仅在未设置该变量时执行操作) 当用户关闭浏览器时,会话将被清除 作为一个可能的示例,在添加到数据库的PHP代码中,只需将以下内容放在开

以下是添加到数据库的代码:

<?php 
/*Config*/

使用一些漂亮的jQuery或js,您可以在用户提交表单后隐藏表单。

听起来应该可以很容易地使用jQuery或js完成

只需使用sessions并设置一个session变量(称为post或其他),如果该变量已设置,则不允许用户发布(隐藏submit按钮或在javascript中使用PHP if语句仅在未设置该变量时执行操作)

当用户关闭浏览器时,会话将被清除

作为一个可能的示例,在添加到数据库的PHP代码中,只需将以下内容放在开头:

session_start();
if (isset($_SESSION['posted']))
    die("posted");
$_SESSION['posted'] = true;

编辑:

您只需要添加另一个
else if
语句。它看起来像这样:

if(response == "knownudid"){
    document.getElementById('udid_message').innerHTML = '<br><i><font color="red">This UDID has already been inserted and it is valid.</font></i>' ;
}else if(response == "noudid"){
    document.getElementById('udid_message').innerHTML = '<br><i><font color="orange">Please, enter your UDID.</font></i>' ;
}else if(response == "errudid"){
    document.getElementById('udid_message').innerHTML = '<br><i><font color="red">It seems this UDID is not correct. Please check for typo.</font></i>' ;
}else if(response == "validatedudid"){
    document.getElementById('udid_message').innerHTML = '<br><i><font color="green">This UDID has been found as an invalid one. Now it is valid.</font></i>' ;
}else if(response == "posted"){    // Here is the new one
    document.getElementById('udid_message').innerHTML = '<br><i><font color="red">You have already posted a UDID for this session.</font></i>' ;
}else{
    document.getElementById('udid_message').innerHTML = '<br><i><font color="green">UDID <b>'+response+'</b> successfully inserted.</font></i>';
}
if(响应==“knownudid”){
document.getElementById('udid_message')。innerHTML='
此udid已插入且有效。“; }else if(响应=“noudid”){ document.getElementById('udid_message')。innerHTML='
请输入您的udid'; }else if(响应==“errudid”){ document.getElementById('udid_message')。innerHTML='
此udid似乎不正确。请检查键入错误。“; }else if(响应==“validatedudid”){ document.getElementById('udid_message')。innerHTML='
已发现此udid无效。现在它是有效的'; }else if(response==“posted”){//这是新的 document.getElementById('udid_message')。innerHTML='
您已经发布了此会话的udid'; }否则{ document.getElementById('udid_message')。innerHTML='
udid'+response+'已成功插入'; }
  • 将javascript放在HTML元素中是不好的,将其移动到标记中,或者更好,移动到一个单独的.js文件中

  • 对于HTML5浏览器,
    是一种为文本字段提供指令的更优雅的方式

  • 如果使用AJAX提交表单,请在函数
    insert\u udid()
    add中:


…否则,您将需要php代码从响应HTML中禁用或忽略表单。

您还可以添加您为添加到数据库而编写的代码吗?听起来应该可以使用。只需使用sessions并设置一个session变量(称之为
posted
或其他),如果该变量已设置,则不允许用户发布(隐藏submit按钮或在javascript中使用PHP if语句,仅在未设置该变量时执行操作。@Travesty3-您应该将其作为一个答案发布,这样不会强制用户关闭或重新打开浏览器。他们只需刷新页面。嗯,是的,PHP会话似乎更合适,我必须看到t。)他编写了
insert\u udid()
函数的代码。听起来你是在通过AJAX调用PHP脚本。如果是这种情况,你需要检查PHP脚本的响应,并向用户显示相应的消息。发布代码,我可以帮上忙。
document.getElementById('your_button_or_form').disabled = true;
// or document.getElementById('your_form').style.visibility = 'hidden';