【问题标题】:Button to increment contents of html file by one each press每次按下按钮以将 html 文件的内容增加一个
【发布时间】:2013-07-18 19:15:54
【问题描述】:

我目前正在为我的鸡创建一个带有“鸡蛋柜台”的网站。我有一个隐藏的网站部分,受密码保护,我想在其中放置一个按钮,每次按下它时,都会给鸡蛋值加一个。目前,我有一个 html 文件,其中只有我嵌入网站的数字。

(这是嵌入 .html 文件的代码)

        <h2><b>Egg Counter!<b/></h2>
        <p>So far our chickens have laid</p>
        <font size="20" color="#FFFFFF"><embed src="./eggs.html"></embed></font>

我是一个新手程序员,我不确定这是否是正确的方法,但我不知道如何制作改变鸡蛋值的按钮。

非常感谢任何帮助!

【问题讨论】:

  • 您要保留数据吗?如果您希望它持久存在,请放入数据库并从中读取实际值。然后,您可以使用一个按钮来运行更新数据库中的值的脚本。
  • 我认为你需要的是一些服务器端编程,否则页面将无法存储当前的鸡蛋数。
  • 服务器端编程没问题,我实际拥有服务器,它是后院的树莓派。

标签: html button web increment


【解决方案1】:

您可以使用 javascript onclick 事件将数字每次点击增加 1。

把它放在你的头部。

function incrementValue()
{
var value = parseInt(document.getElementById('number').value, 10);
value = isNaN(value) ? 0 : value;
value++;
document.getElementById('number').value = value;
}

将其放置在您希望按钮显示的位置。

<form>
<input type="text" id="number" value="0"/>
<input type="button" onclick="incrementValue()" value="Increment Value" />
</form>

【讨论】:

  • 虽然这并没有明确回答他的问题,但它是迄今为止最容易用 javascript 实现的。我唯一要添加的是函数周围的&lt;script&gt; 标签。
【解决方案2】:

我认为您希望存储该数字,以便它始终显示,并且您可以在您的时髦鸡下蛋时更新它。上一个答案将允许您增加数字,但前提是您打开浏览器。

我认为最好的方法是使用 PHP。

所以首先你希望你的页面是 .php ,比如说 admin/loggedin.php。

您想在同一目录中创建一个名为 eggs.txt 的空白文件,权限为 0755。

那么你希望你的表单看起来像这样

<form method="POST" action="loggedin.php">
   <input type="text" name="num" value="0"/>
   <input type="submit" value="Chicken came first" name="eggs">
</form>

解释方法/动作:

method 

是你希望如何将数据发送到

action 

页面。

选项是$_POST$_GET,我不认为在这里介绍太多细节会有帮助。

action= 是告诉表单将​​此数据发送到哪个页面,在这种情况下,我们选择将其发送到表单所在的同一页面(loggedin.php)。

所以现在,一旦您提交该表单,我们将有一个 $_POST['num'] 可供我们使用,其中包含您在表单输入字段中输入的数字。

为此,您需要在页面顶部添加:编辑(已更改下面的代码部分 - file_put_contents 应该在 if($_POST['eggs']) {

<?php
//this checks to see if the form was submitted by checking 'eggs' is set.
if($_POST['eggs']) {
  // create a nicer variable for our egg number, it deserves a nice name.
  $egg = $_POST['num'];  
  //this will put the new number of eggs in our eggs.txt file 
  file_put_contents('eggs.txt',$egg);
}    
?>

file_put_contents() 写入文件

接下来,您希望能够从显示页面上的文件中获取该数字。为此:

<div class="my_egg_count">
   <?php echo file_get_contents('eggs.txt'); ?> 
</div>

file_get_contents() 读取文件,将“echo”从服务器回显到客户端。

如果您对此有任何疑问,请告诉我,您不想最终脸上沾满鸡蛋。

编辑:: 试试这个

if(is_writeable('eggs.txt')) {
    if(file_put_contents('eggs.txt',$egg)) {
        echo 'File Updated';    
    }else {
        echo 'Error Updating File'; 
    }
}else {
    echo "Error: File Isn't Writeable [possibly named incorrectly, isn't in the correct location, or wrong permissions]";   
}

【讨论】:

  • 感谢您这么快回复!我在保存值的代码上遇到了一些麻烦,我不确定将它放在哪里。我尝试了多个位置,但似乎没有任何效果。会不会是因为文本文档没有权限?
  • 它位于页面的最顶部,上面有表格,在其他任何东西之前。您是否创建了文本文件?如果是这样,将其权限更改为 0755(使其可写)
  • 是的,我已经创建了文本文件并确保名称对应以及所有内容。此外,我已确保将文本文件的权限设置为 0755。表单允许我输入一个数字并提交,但它不会写入文件中。
  • 我已经更改了上面的代码,用编辑(在 if($_POST'eggs']) 部分代码重试
  • 我更改了代码,但仍然没有在文本文件中显示输入的值。文本文件应该在 admin 文件夹中吧?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-28
  • 1970-01-01
  • 2016-10-02
  • 2019-08-01
  • 2016-02-29
  • 2018-10-09
  • 1970-01-01
相关资源
最近更新 更多