php文件写数组变量html无法正常工作

时间:2017-09-18 02:47:32

标签: php html arrays fwrite

我正在尝试创建一个网站,您可以在其中输入价值来订购食物。在PHP我试图让它创建一个我可以查看的txt文件。我已经得到它来制作文件,但它只是显示' Fries:Array'而不是数字。和#Array;#39;应该是一个数字。我的php和HTML代码如下......

HTML:

<input type="number" name="Fries" min="0" max="69"><br>

PHP:

<?php
$path = "Fries.txt";
$fh = fopen("Fries.txt", "w") or die("Unable to open file!");
$fries = array(['Fries']);
$string = 'Fries: '. strval($fries[0]);
fwrite($fh, $string);
fclose($fh);
?>` 

如果有人能告诉我如何让php读取HTML表单数据,那就很好了

2 个答案:

答案 0 :(得分:1)

假设您已经意识到在没有任何类型的验证的情况下获取用户输入并将其写入文件的所有潜在缺陷:PHP中的方括号是定义新数组的快捷方式。所以你写的内容相当于:

$fries = array(array('Fries'));

此外,当您说要从用户输入中获取此字符串时,您正在为新数组指定字符串值“fries”。请尝试以下方法:

...
$fries = 'Fries: ' . $_REQUEST['Fries'];
fwrite($fh, $string);
...

无需使用strval() - 值已经是字符串。

就验证而言,您可能需要在分配$fries变量之前添加以下内容:

if (is_numeric($_REQUEST['Fries'] && $_REQUEST['Fries'] >= 0 && $_REQUEST['Fries'] <= 69)

答案 1 :(得分:0)

HTML:

<form method="post">
    <input type="number" name="fries" min="0" max="69"><br>
    <input type="submit" name="submit">
</form>

PHP:

<?php
$path = "Fries.txt";
$fh = fopen($path, "w") or die("Unable to open file!");

$string = 'Fries: '. filter_input(INPUT_POST,'fries');
fwrite($fh, $string);
fclose($fh);
?>