Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.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_Html_Forms - Fatal编程技术网

如何使用PHP对表单设置提交限制

如何使用PHP对表单设置提交限制,php,html,forms,Php,Html,Forms,我正在尝试创建一个.php页面,其中包含一个具有提交限制的表单。我按顺序查找以下步骤: 用户到达表单 用户看到的表单仍处于打开状态 用户提交表单的信息 表单将+1添加到txt文件中,该文件在每次提交表单时将+1,直到txt文件达到数字10为止。 如果txt文件等于预设值10,我希望表单消失,不再允许提交。 我尝试过使用fopen,并使用$limit=fopencount.txt使其工作,但是我很困惑首先需要做什么。我使用的代码是我在网上编写和找到的其他php代码的片段。通常情况下,我能想出像这样

我正在尝试创建一个.php页面,其中包含一个具有提交限制的表单。我按顺序查找以下步骤:

用户到达表单 用户看到的表单仍处于打开状态 用户提交表单的信息 表单将+1添加到txt文件中,该文件在每次提交表单时将+1,直到txt文件达到数字10为止。 如果txt文件等于预设值10,我希望表单消失,不再允许提交。 我尝试过使用fopen,并使用$limit=fopencount.txt使其工作,但是我很困惑首先需要做什么。我使用的代码是我在网上编写和找到的其他php代码的片段。通常情况下,我能想出像这样的事情,因为我知道这很可能很简单

<?php 
$limit = fopen("count.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("count.txt"));

if ($limit = 10){
echo ("Cannot Submit Anymore");}
else{
echo ('<form>
First name:<br>
<input type="text" name="firstname"><br>
Last name:<br>
<input type="text" name="lastname">
</form>');}

fclose($myfile);
$limit = fopen('count.txt', 'c+');
flock($limit, LOCK_EX);
$count = (int)fread($limit, filesize('count.txt'));
ftruncate($limit, 0);
fseek($limit, 0);
fwrite($limit, $count + 1);
flock($limit, LOCK_UN);
fclose($limit);
?>

我完全被卡住了,不确定每件事的工作顺序。

知道我需要做什么,尽管我不知道代码是否符合要求。不管怎样,以下是我所做的:

共5页:

index.php[登录页] tally.php[用于更新不同txt文件的php代码] count.txt[购买了多少个座位。在本例中,它在其中键入了数字0] left.txt[还剩多少个座位。在本例中,输入了数字10] max.txt[我卖多少个座位。在本例中,它输入了数字10] index.php[登录页]:

<?php 
$max = file_get_contents('max.txt');
$limit = file_get_contents('count.txt');
$left = file_get_contents('left.txt');
$maxed = 'Sorry, All Seats Have Been Sold';
if ($limit >= $max){
echo $maxed;}
else{
echo '
<form action="tally.php"> // This form can be edited to your needs
First name:<br><input type="text"><br>
Last name:<br><input type="text">
<input type="submit" value="Submit">
</form>' . 'Seats Remaining:' . $left;}
?>
left.txt[还剩多少个座位]

10
max.txt[我卖多少个座位]

10

希望这对将来的人有所帮助,这段代码在我的服务器上运行时会抛出大量错误日志,我可以在后端看到这些日志,但它对我和我所需要的都有效。如果有人能在这一天有所改进,我和未来的许多人都会非常感激

您已经在问题的开头概述了步骤的顺序,那么您现在不确定的到底是什么…?//$limit=10是一个赋值,顺便说一句,不是一个比较。不允许更多的提交与不再显示表单是两码事,因此您也需要在处理提交的位置执行此检查。因此,if语句是否更适合[$limit=10/$limit==10]我不知道如何编写它?我的目标是不允许表单提交,而不是完全隐藏表单。我经常使用PHP,但当谈到如何编写代码时,我就不知所措了。上面我写的提纲包含了所需的步骤,但我不知道在翻译成PHP时如何处理这些步骤。在正确的方向上的任何帮助都是很棒的。你实际上用你写的一点点帮助了我很多。我很感激@04FS
10
10