使用php将内容提交到.txt并保持在同一页面而不是转到php页面

时间:2016-10-02 17:21:20

标签: javascript php jquery html ajax

我想将内容提交/写入.txt文件,我必须使用php来做,但我不想打开php页面并希望保持在同一页面上。

我该怎么做?

的index.html

<form action="writer.php" method="POST">
    <input name="field1" type="text" />
    <input name="field2" type="text" />
    <input type="submit" name="submit" value="Save Data">
</form>

writer.php

<?php
if(isset($_POST['field1']) && isset($_POST['field2'])) {
    $data = $_POST['field1'] . '-' . $_POST['field2'] . "|| \n";
    $ret = file_put_contents('mydata.txt', $data, FILE_APPEND | LOCK_EX);
    if($ret === false) {
        die('There was an error writing this file');
    }
    else {
        echo " written to file";
    }
}
else {
   die('no post data to process');
}
?>`

2 个答案:

答案 0 :(得分:0)

你可以简单地使用iframe,更容易替代AJAX。

<iframe name="panel" style="display:none;"></iframe>
<form action="writer.php" method="POST" target="panel">
    <input name="field1" type="text" />
    <input name="field2" type="text" />
    <input type="submit" name="submit" value="Save Data">
</form>

...当这里的每个人都在大喊大叫时,请考虑学习AJAX

答案 1 :(得分:-3)

创建一个包含以下内容的php文件。

<?php    
 if(isset($_POST['SubmitButton'])){ //check if form was submitted
$input = $_POST['inputText']; //get input text
file_put_contents('mydata.txt', $input, FILE_APPEND | LOCK_EX);
$message = "Success! You entered: ".$input;
}    
  ?>

  <html>
  <body>    
  <form action="" method="post">
<?php if(isset($message)) echo $message; ?>
 <input type="text" name="inputText"/>
 <input type="submit" name="SubmitButton"/>
</form>    
</body>
</html>