Php 文件内容显示出奇怪的缩放行为

Php 文件内容显示出奇怪的缩放行为,php,forms,Php,Forms,我的任务是将包含24个输入字段的表单中的数据放入txt文件。不太适应PHP编码我从web上获得了一些代码片段,文件\u put\u contentsnippet来自一个带有2个输入字段的示例。它工作了=它将数据写入文件并显示“谢谢”页面。我添加了另一个字段-它起作用了。好了,现在我添加了我所有的字段——它并没有写入文件,而是生成了一个空白的白页 我回到3字段版本,开始逐个添加字段。当它在8个字段停止工作时,我引入了一个2。issetPOST[]元素。这样我就可以再添加6个字段,而且效果很好。在此

我的任务是将包含24个输入字段的表单中的数据放入txt文件。不太适应PHP编码我从web上获得了一些代码片段,文件\u put\u contentsnippet来自一个带有2个输入字段的示例。它工作了=它将数据写入文件并显示“谢谢”页面。我添加了另一个字段-它起作用了。好了,现在我添加了我所有的字段——它并没有写入文件,而是生成了一个空白的白页

我回到3字段版本,开始逐个添加字段。当它在8个字段停止工作时,我引入了一个2。issetPOST[]元素。这样我就可以再添加6个字段,而且效果很好。在此期间,当代码成功地将11个字段中的数据打印到我的文件中时,我分别保存了代码。当在第7个字段中,它再次生成一个空白页,并且没有保存到文件中时,我删除了最后一个添加项-令我大为惊讶的是,在我添加最后一个添加项之前已经工作的代码不再工作了?!我继续一个接一个地删除元素-它不再工作了?!因此,我恢复到代码的保存版本,但仍然不起作用

所以我把每一个字母、符号和数字都看了一遍,都没有用。尽管我没有改变html表单中的任何内容,但我也改变了这一点,因为所有内容都指向指向php文件的表单中的一个问题。一切都是徒劳的。 我知道这一定是我做过的事情,现在却忽略了——请告诉我我的错误在哪里

这是2天前运行的版本,我在展开之前保存了它:

<?php
function resetForm($form) {
$form.find('input:text, input:password, input:file, select, textarea').val('');
$form.find('input:radio, input:checkbox')
     .removeAttr('checked').removeAttr('selected');
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}

if(isset($_POST['q01' | 'q02' | 'q03' | 'q04' | 'q05' | 'q06' | 'q07']) &&  isset($_POST['q08' | 'q09' | 'q99' | 'q98'])) {
    $data = $_POST['q01'] . '#' . $_POST['q02'] . '#' . $_POST['q03'] . '#' . $_POST['q04'] . '#' . $_POST['q05'] . '#' . $_POST['q06'] . '#' . $_POST['q07'] . '#' . $_POST['q08'] . '#' . $_POST['q09'] . '#' . $_POST['q99'] . '#' . $_POST['q98'] . "\n";
    $ret = file_put_contents('data/data.txt', $data, FILE_APPEND | LOCK_EX);
    if($ret === false) {
        die('There was an error writing this file');
    }
    else {
        header('Location:danke.html');
    }
 exit (0);
} 
?>
为了确保我也会发布表单的相关行:

<form id="umfrage" class="appnitro" method="post" action="data2text.php"  accept-charset="UTF-8">

 <input id="saveForm" class="button_text" type="submit" name="submit" value="Fertig!" />
您的resetForm函数似乎不是PHP

isset$_POST['q01'|'q02'|'q03'|'q04'|'q05'|'q06'|'q07']

你希望这能做什么?这在字符串上不起作用。。。这不是检查阵列密钥可用性的方式。您应该单独检查每个键:

if (isset($_POST['q01']) || isset($_POST['q02']) .....) {

注意

你想在这里做什么是设置$_POST['q01'|'q02'|'q03'|'q04'|'q05'|'q06'|'q07']和&isset$_POST['q08'|'q09'|'q99'|'q98'?更不用说缺少一个结束表单标签“它没有写入文件并生成一个空白的白页”–这意味着首先你需要正确配置错误报告,除了有缺陷的条件外,还没有看到足够的代码用于解决方案。投票决定以不清楚的方式结束。Uggh。。。。我会对OP的所有代码/数组lol使用in_数组,而不是所有这些条件。当然,那只是我-在数组中检查密钥是否存在?无论如何,他甚至还没有掌握逻辑运算符和数组访问的概念,让我们在这里一步一步地做……哦,当然,我一直都在做。但是是的。。。逻辑有缺陷,问题也不清楚。编辑:哦,并将值分配给数组。在数组中,检查值是否存在,而不是是否设置了密钥。谢谢,@NDM,单独检查密钥可用性完成了这项任务。我仍然不明白为什么它一开始就在这个奇怪的代码中工作,但至少我的问题解决了。我只是拿了一些代码片段,试着修改它们,就像不用阅读任何手册就可以开始使用电子设备一样,只是猜测不同按钮的功能。某种程度上。