Поскольку вы отправляете form
на той же странице, сервер (после обработки любого кода PHP на этой странице) отобразит эту страницу.У вас есть несколько вариантов здесь:
- Отправка формы на другую страницу.
- Перенаправление со страницы после обработки формы.
Первый вариант будет означать, что вы измените action
в form
на что-то вроде этого:
<form name="list" action="formhandler.php" method="post">
Это будет означать, что formhandler.php
(или как вы решитечтобы вызвать ее) будет иметь PHP-код на стороне сервера для обработки формы, а затем на этой странице будет отображаться все, что вы хотите, чтобы она отображалась.
Второй вариант будет включать просто использование перенаправления в вашем PHP-коде (на странице, на которую вы уже отправляете), чтобы направить пользователя на другую страницу после обработки формы. PHP header()
функция является стандартным способом сделать это.Примерно так:
header("Location: thankyou.php");
Этот должен по сути быть последним, что PHP-код делает после обработки вашей формы.То есть вы, вероятно, не хотите, чтобы ваш код на стороне сервера продолжал выполняться после того, что интуитивно было бы завершающим случаем.Таким образом, вы захотите вызвать exit
сразу после этого, чтобы остановить выполнение страницы.(Имейте в виду, что фактическое перенаправление не является действием на стороне сервера, сервер просто отправляет заголовок Location
в браузер и сообщает браузеру, что it должен выполнить перенаправление.)
(Кроме того, как отмечено в других ответах здесь, в противном случае не должно быть никакого вывода на страницу при выполнении такого перенаправления.)
Кроме того, я полагаю, что вы также можете иметь условный вывод на своей странице PHPотображение одного набора содержимого HTML (формы), если он не обрабатывает POST, или другого набора содержимого (страницы благодарности), если он обрабатывает POST, но для меня это похоже на скользкий уклон.Лучше разделить ресурсы на стороне сервера, чем иметь один именованный ресурс (somepage.php), который делает разные вещи условно.(Принцип единой ответственности)