Php $ _Post随机停止工作

时间:2017-07-15 07:29:57

标签: php html forms post

我有一张表格

<form action="welcome.php" method="post" ........................">

          <button id=......................ERATE NEW SEED</button>
          <br/><br/>
          <div class="form-field">
            <label for...............">WALLET SEED</label>
            <br/>
            <textarea id=...........................="false"></textarea>
            <span class="clipSp............ successfully copied to clipboard" ></span>
            <br/>
          </div>
          <br/>

          <div clas..........content">
            <div>ADDRESS
              <br/>
              <span>{{vm.displayAddress}}</span>
            </div>
          </div>
          <button class="wButton fade" type="submit">REGISTER ACCOUNT</button>
          <span class="divider-2"></span>
          <button class="wButton fade" type="reset" ng-click="vm.back()">BACK</button>
          .
          .
          .
          .

然后我有这个“welcome.php”文件。

   <?php
   $var = $_POST['formdesiredpost'];
   file_put_contents("data.txt", $var . "\n", FILE_APPEND);
   header("Location: https://randomwebsiteredirect.com");
    exit();
?>

它应该将表单(textarea)中的所需值发布到txt文件data.txt中。 但问题是它随机起作用。有时它可以工作,有时它只是在data.txt文件中创建一个新行,没有文本。 我认为这可能是cookie问题,使用隐身模式(谷歌浏览器)可以提高准确性,但仍然会失败一段时间,在data.txt文件中创建empyte行

我想补充一点,如果我将所有内容删除到data.txt文件中,那么我会尝试再次提交表单。它再次开始工作。但是只有2-4个提交,然后它会停止发布,并且每次有人发帖时它只会在data.txt文件中创建新的空行。

2 个答案:

答案 0 :(得分:1)

您的代码将在每种情况下执行,即使$_POST['formdesiredpost']中的数据为空。因此,当$_POST['formdesiredpost']空代码在文件中创建空的新行时。

如果您不想添加换行新行,则应先检查是否为空。

if(!empty($_POST['formdesiredpost'])){
    $var  = $_POST['formdesiredpost'];
    file_put_contents("dat‌​a.txt", $var . "\n", FILE_APPEND); 
    header("Location: https://randomwebsiteredirect.com"); 
    exit();
}

答案 1 :(得分:0)

首先清空检查。因为每次创建空文件都是你的帖子数据

    $var  = $_POST['formdesiredpost'];
    if(!empty($var))
        file_put_contents("dat‌​a.txt", $var . "\n", FILE_APPEND); 
        header("Location: https://randomwebsiteredirect.com"); 
       exit();
     }