表单提交时覆盖变量
Posted
技术标签:
【中文标题】表单提交时覆盖变量【英文标题】:Overwriting variable on form submit 【发布时间】:2015-03-24 21:59:30 【问题描述】:我正在尝试使用表单覆盖存储在 txt 文件中的变量,这是表单代码:
<form action="test.php" method="POST" NAME="action1">
<input type="hidden" name="name" value="<?php echo $amount +10 ?>">
<input type="button" value="increment" onclick="window.document.action1.submit()">
</form>
这里是 test.php 文件:
<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$amount = 0;
fwrite($fh, $amount);
fclose($fh);
?>
我知道我的代码有很多错误,但如果有人告诉我表单代码有什么问题,那就太棒了;感谢您的宝贵时间。
【问题讨论】:
你没有在两个 PHP 程序中定义$amount
。
【参考方案1】:
您的变量名称非常混乱。您将值 $amount + 10
放在名为 name
的字段中?而且您在尝试输出之前永远不会定义$amount
,所以这会给您带来错误。您希望那里发生什么?
我认为您要保存的变量是$_POST['name']
,如下所示:
<?php
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh, $_POST['name']);
fclose($fh);
?>
但是您真的需要在使用数据之前对其进行验证;否则,用户可能会在你的 txt 文件中保存各种不好的东西。
编辑:基于 cmets,您希望从文件中读取,然后在用户提交表单时递增变量。一些想法:
-
您没有读取文件的代码。先让这部分工作。
这很奇怪。这允许用户输入任何内容,而不仅仅是数字。这几乎肯定不是您想要做的。
您需要计划好您想要的内容并分步实施。您当前的代码与您想要的没有太多相似之处。这部分是因为您没有考虑过数据的来源和去向。您可能会发现使用 PHP 处理表单的教程很有帮助。
【讨论】:
我想要做的是当用户点击提交按钮时,txt 文件中的变量 $amount 变为 $amount+10(抱歉我的英语不好) 您想在提交后添加 10 个?还是在它之前?这一切都非常不清楚。 好吧,那就看看我的回答。您还必须在某些时候从文件中读取;您的问题中没有代码。以上是关于表单提交时覆盖变量的主要内容,如果未能解决你的问题,请参考以下文章