Итак, насколько я понял, это записывает входные данные в файл с именем страницы действия.Но я играл и ничего не происходит.
Нет, это не то, что сделал бы <form action="action_page.php">
.
Когда пользователь нажимает кнопку отправки, это будет ОТПРАВИТЬ пользователю на другую веб-страницу, как указано в атрибуте action=
тега <form>
- в данном случае один называется action_page.php
.Если action_page.php
только что сказал:
<h1>Hello</h1>
(и это было полное содержание страницы), то на экране появилось бы Hello, и с данными формы ничего бы не было сделано.
Итак, вам нужно создать страницу, которая получает переменные данных, отправленные с первой страницы, и что-то с ними делает.Переменные формируются на первой странице следующим образом:
<input name="first_name" type="text" />
Когда форма будет отправлена, будет переменная с именем first_name
, содержимое которой будет соответствовать вводимому пользователем.
На второй странице (action_page.php
) вам нужно получить этих переменных:
$fname = $_REQUEST['first_name'];
Теперь у вас есть то, что пользователь набрал для именив переменной с именем $fname
(все переменные PHP должны начинаться с символа $).
Так что, если , это было полным содержимым action_page.php
, отправка формы выдаст "Hello John"Как дела? ":
<?php
$fname = $_REQUEST['first_name'];
?>
<h1>Hello <?php echo $fname; ?>, how are you?</h1>
Попробуйте.
Также прочитайте эту важную статью:
https://stackoverflow.com/a/54757176/1447509
Обновление - ответ на комментарий:
Это пользователь , который вводит в поля формы, так что ничто там не скажет файлу обработки PHP (action_page.php
в вашем примере), гдепоставить данные.Это ваше (разработчик) решение.Как сказал Рик в своем комментарии, у вас есть варианты.В 99% случаев мы помещаем информацию в базу данных MySQL
(теперь она называется MariaDB
), но вы можете сначала попрактиковаться в сохранении данных в текстовый файл.
Используя приведенный выше пример, вы можете изменитьaction_page.php
файл к этому:
<?php
$fname = $_REQUEST['first_name'];
?>
$myFile = fopen('___mytest.txt', 'w');
$fwrite($myFile, "Received from the HTML side: " . $fname);
fclose($myFile);
Примечание: будьте очень осторожны, заканчивая каждую строку точкой с запятой ;
- КАЖДАЯ СТРОКА! Когда PHP ломается, сообщения нет - оно просто останавливается.Самая распространенная ошибка - забыть завершить строку точкой с запятой. (Я начал имя файла с 3-х символов подчеркивания, чтобы он выделялся и отображался в верхней части других файлов.)
Когда вы начнете работать, ваш следующий шаг -создать базу данных MySQL и выяснить, как записать в нее данные.Есть где-то рядом с gazillion учебников YouTube, которые помогут.
Запись данных в текстовый файл (в качестве первого шага) будет: (1) доказать вам, что вы на правильном пути, (2) доказать, что все работает до сих пор, и (3) дать вам успешных опыта получения данных из HTML и их сохранения где-либо.
PHP - Защищайте страницы только для членов с помощьюсистема входа в систему
https://www.thoughtco.com/write-to-a-file-from-php-2693790