отправка содержимого в .txt с использованием php и пребывание на той же странице, а не переход на страницу php

#javascript #php #jquery #html #ajax

#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']) amp;amp; 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');
}
?>`
  

Комментарии:

1. @CharlotteDunois Я ХОЧУ ПИСАТЬ, А НЕ ЧИТАТЬ!!

2. @Azhar ajax используется для отправки данных в обоих направлениях… вы бы записали в файл на основе отправленных данных

3. можете ли вы показать мне? @charlietfl

4. В Интернете есть много руководств по отправке форм с помощью ajax

5. в файле .php, но не в файле .txt @charlietfl

Ответ №1:

Вы могли бы просто использовать iframes, более простую альтернативу 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. Я решал вашу проблему, чтобы оставаться на той же странице. Я думал, что ваш скрипт работает, мой плохой.

Ответ №2:

создайте 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>
  

Комментарии:

1. не отвечает на ваш собственный вопрос о том, как оставаться на той же странице

2. Вы спрашиваете: «отправка содержимого в .txt с использованием php и пребывание на той же странице, а не переход на страницу php». Пожалуйста, объясните, как это будет делать то, о чем вы просили.

3. запустите все это на одной странице, и вы узнаете @Franco