【问题标题】: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

标签: php forms file variables overwrite


【解决方案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,您希望从文件中读取,然后在用户提交表单时递增变量。一些想法:

  1. 您没有读取文件的代码。先让这部分工作。
  2. 这很奇怪。这允许用户输入任何内容,而不仅仅是数字。这几乎肯定不是您想要做的。
  3. 您需要计划好您想要的内容并分步实施。您当前的代码与您想要的没有太多相似之处。这部分是因为您没有考虑过数据的来源和去向。您可能会发现使用 PHP 处理表单的教程很有帮助。

【讨论】:

  • 我想要做的是当用户点击提交按钮时,txt 文件中的变量 $amount 变为 $amount+10(抱歉我的英语不好)
  • 您想在提交后添加 10 个?还是在它之前?这一切都非常不清楚。
  • 好吧,那就看看我的回答。您还必须在某些时候从文件中读取;您的问题中没有代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-02
  • 2011-11-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-01
相关资源
最近更新 更多