Как сохранить строку, введенную в HTML-форму, в текстовый файл

У меня очень простой PHP-файл. Я хочу иметь два текстовых поля для ввода пользователя и кнопку отправки. Пользователь вводит свое имя и фамилию, затем я хотел бы добавить или создать файл TXT с данными, введенными из поля 1 и поля2.

Возможно, я собираюсь сделать это неправильно. Я опубликую два способа, которыми я занимался.

<html> <head> <title>Field1 & 2</title> </head> <body> <form> What is your name?<br> <input type="text" name="field1"><br> <input type="text" name="field2"><br> <input type="submit" value="Submit"> </form> <?php $txt= $_POST['field1'].' - '.$_POST['field2']; $var_str3 = var_export($txt, true); //is this necessary? $var3 = "$var_str3"; //is this necessary? file_put_contents('fields.txt', $var3.PHP_EOL, FILE_APPEND); ?> </body> </html> 

Я не могу понять, как получить данные из field1 и field2 в строковые переменные.

Я также испортил использование этого php вместо раздела, указанного выше.

  <?php $txt= "data.txt"; if (isset($_POST['field1']) && isset($_POST['field2'])) { $fh = fopen($txt, 'a'); $txt=$_POST['field1'].' - '.$_POST['field2']; fwrite($fh,$txt); // Write information to the file fclose($fh); // Close the file } ?> 

Вы должны узнать о HTML-формах и обработке форм PHP.

В коде вы должны использовать метод HTTP формы. И данные формы должны отправляться для обработки в файл PHP.

В этом коде я использую метод HTTP PSOT, вы также можете использовать метод GET, результат будет таким же. Этот два метода используется для сбора данных формы. И имя файла php – "action.php" .

index.html

  <html> <head> <title>Field 1 & 2</title> </head> <body> <form action="action.php" method="post"> What is your name?<br> <input type="text" name="field1"><br> <input type="text" name="field2"><br> <input type="submit" value="Submit"> </form> </body> </html> 

action.php

 <?php $path = 'data.txt'; if (isset($_POST['field1']) && isset($_POST['field2'])) { $fh = fopen($path,"a+"); $string = $_POST['field1'].' - '.$_POST['field2']; fwrite($fh,$string); // Write information to the file fclose($fh); // Close the file } ?> 

Давайте возьмем фрагмент из http://www.w3schools.com/html/html_forms.asp

 <form action="action_page.php" method="post"> First name:<br> <input type="text" name="firstname" value=""><br> Last name:<br> <input type="text" name="lastname" value=""><br><br> <input type="submit" value="Submit"> </form> 

Обратите внимание на первую строку: при action_page.php формы вызывается скрипт php: action_page.php .

action_page.php – это ваша веб-страница с формой и встроенным скриптом php. action_page.php отображает пустую форму, а затем обрабатывает представленные данные.

В первой строке также указано, что отправленные данные отправляются методом POST .

Часть php будет выглядеть так:

 <?php if( isset($_POST['firstname'] ) && isset( $_POST['lastname'] ) ) { $txt= $_POST['firstname'].' - '.$_POST['lastname'] . PHP_EOL; file_put_contents('fields.txt', $txt, FILE_APPEND); } ?> 

Оператор if существует потому, что при первом action_page.php скрипта action_page.php его целью является только отображение формы и получение POST-данных.

Когда форма отправляется пользователем, скрипт будет получать данные и хранить их в файле.

Сценарий также (с этим подходом) снова отобразит пустую форму, готовую для отправки другой записи.

Вы можете изменить порядок вещей, чтобы иметь две веб-страницы: одну с формой, другую с сообщением «Спасибо» и скрипт php обработки данных.