Я хочу разместить данные формы на той же странице, где находится форма, но так как URL выглядит так domain.com/index.php?id=foo , $ _SERVER [‘PHP_SELF’] возвращает index.php. Когда я устанавливаю действие формы равным domain.com/index.php?id=foo, оно тоже не срабатывает. Какие-либо предложения?
Просто оставь свой action=""
атрибут в вашей форме пустой
Теперь, чтобы фактически отправить вашу форму, установите <input type="submit" name="your button">
и в вашем php-скрипте просто проверьте, была ли кнопка отправлена с простой функцией isset, вот так.
if(isset($_POST['yourbutton'])){
// all in the same page
}
Если вы хотите опубликовать данные формы на той же странице, где установлена форма, просто оставьте action
значение пустое.
Пример :
<form method="post" action="">
...
</form>
<form method="post" id="foo" action="<?php echo htmlentities($_SERVER['PHP_SELF']);?>">
...
domain.com/index.php?id=foo и domain.com/index.php находятся на одной странице
if ($_post['#foo']);{ // if posted
echo $_post['$var']} // echo input