简体   繁体   English

提交按钮上的空白页

[英]Blank page on submit button

I have some troubles with my html page. 我的html页面有些麻烦。 I want it to reload after pressing the submit button. 我希望它在按下提交按钮后重新加载。 I tried reloading it with javascript but it keeps on giving me a white page (after saving the data I need in a file). 我尝试用javascript重新加载它,但是它继续为我提供白页(在文件中保存了我需要的数据之后)。

Here is the html code: 这是html代码:

<html>
    <head>
        <title>Sample Web Form</title>
    </head>
<body>

<h1>Fill Out This Form</h1>


<form action="myprocessingscript.php" method="POST">
<p><i>Choose one or more of the available options that represent the current mental state of the System:</i></p>
  <input type="checkbox" name="mentalState[]" value="Knows user culture"> Knows User Culture<br>
  <input type="checkbox" name="mentalState[]" value="Knows concept "> Knows Concept<br>
    <input type="checkbox" name="mentalState[]" value="Knows that user knows concept"> Knows that User Knows Concept<br>


<p><i>Choose the corresponding action:</i></p>
  <input type="checkbox" name="action" value="cultureIdentif"> Culture Identification<br>
  <input type="checkbox" name="action" value="conceptIdentif"> Concept Identification<br>


<p><i>Choose one or more of the available options that represent the current mental state of the System following the action:</i></p>

  <input type="checkbox" name="mentalState2[]" value="Knows user culture"> Knows User Culture<br>
  <input type="checkbox" name="mentalState2[]" value="Knows concept"> Knows Concept<br>
    <input type="checkbox" name="mentalState2[]" value="Knows that user knows concept"> Knows that User Knows Concept<br>
  </br>

  <input type="submit" value="Save Data">

</form>
</body>
</html>

here is the php code: 这是PHP代码:

<?php


if(!empty($_POST['mentalState'])){
    // Loop to store and display values of individual checked checkbox.
    foreach($_POST['mentalState'] as $mentalState)
        ($mentalState1=$mentalState . ',' . $mentalState1);
    }

    if(!empty($_POST['mentalState2'])){
        // Loop to store and display values of individual checked checkbox.
        foreach($_POST['mentalState2'] as $mentalState)
            ($mentalState2=$mentalState . ',' . $mentalState2);
        }


        if(isset($mentalState1) && isset($_POST['action']) && isset($mentalState2)) {
            $data = $mentalState1 . '-' . $_POST['action'] . '-' . $mentalState2 . "\n";
            $ret = file_put_contents('matrix.txt', $data, FILE_APPEND | LOCK_EX);
            if($ret === false) {
                die('There was an error writing this file');
            }

    } else {
   die('no post data to process');
}

Thanks for your help! 谢谢你的帮助!

I think you are missing one condition here 我认为您在这里缺少一种情况

you have only 你只有

if($ret === false) {
    die('There was an error writing this file');
}

try to add the else and see 尝试添加其他并查看

if($ret === false) {
    die('There was an error writing this file');
} else {
  header('Location: ' . $_SERVER['HTTP_REFERER']);
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM