我的文件中有以下部分代码:
<?php
$output = "<font id=''>" . $_POST["input"] . "</font>";
file_put_contents("output.html", $output, FILE_APPEND);
?>
用户可以多次提交表单,每次在输入字段中输入的值都将保存到一个文件中。我想做的是,无论是用PHP还是JavaScript,在id
属性中为每个提交的值添加连续的数字。
示例:用户输入hello,提交表单。只有<font id=''>hello</font>
会被写入文件。我要做的是在提交的第一个值(<font id='1'>hello</font>
)的id
属性中写入1
。对于第二个值,写入2
,对于第三个值写入3
,以此类推。
这是可能的吗?如果有,怎么做?
谢谢。
很难统计提交次数,因为当你提交时,javascript中的变量将失去计数器,php也是如此。
我的想法是使用AJAX来提交,Javascript中有一个计数器,从1开始。当提交时,增加这个计数器,并像传递其他隐藏的输入一样传递这个计数器。
总之,我有一个有两个输入的表单,一个是您拥有的,另一个是隐藏的,其中包含提交计数器。您使用ajax完成提交,页面不会重新加载。因此,您可以像其他$_POST['counter']一样在文件中添加计数器。
根据您是需要记住所有用户的号码,还是只需要记住一个用户的号码,您可以使用PHP会话。
你需要在脚本的开头运行session_start,但在此之后,$_SESSION中的变量将一直存在,直到用户的浏览器会话结束(在php.ini中可配置)。
<?php
session_start();
if(!isset($_SESSION['post_counter']) {
$_SESSION['post_counter'] = 0;
}
$_SESSION['post_counter']++;
$output = "<font id='" + $_SESSION['post_counter'] + "'>" . $_POST["input"] . "</font>";
file_put_contents("output.html", $output, FILE_APPEND);
?>