Правильный способ будет использовать $_SERVER["PHP_SELF"]
(в сочетании с htmlspecialchars
, чтобы избежать возможных эксплойтов).Вы также можете просто пропустить пустую часть action=
, которая недопустима для W3C, но в настоящее время работает в большинстве (всех?) Браузеров - по умолчанию отправка для себя, если она пуста.
Вот примерФорма, которая берет имя и адрес электронной почты, а затем отображает значения, которые вы ввели при отправке:
<?php if (!empty($_POST)): ?>
Welcome, <?php echo htmlspecialchars($_POST["name"]); ?>!<br>
Your email is <?php echo htmlspecialchars($_POST["email"]); ?>.<br>
<?php else: ?>
<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
Name: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
<input type="submit">
</form>
<?php endif; ?>