В верхней части моей страницы у меня есть следующее:
<?php $id = $_GET['id']; ?>
Затем у меня есть некоторые условия проверки формы, которые читаются из POST:
if (isset($_POST['completeSubmit'])) { //code }
И, наконец, у меня есть HTML-форма, которая выглядит так:
<form action="<?php echo $_SERVER['PHP_SELF']."?id=$id"; ?>" name="complete" method="post"> <input type="submit" id="textButton" name="completeSubmit" value="[mark as complete]"> </form>
Первоначально доступ к странице осуществляется с помощью GET с переменной id следующим образом:
http://website.com/page.php?id=1
Все последующие сообщения формы (которые перенаправляются на ту же страницу) терпят неудачу. Я знаю, что вы не можете отправлять GET и POST в один и тот же запрос, но видя, что моя форма отправляется в $_SERVER['PHP_SELF']."?id=$id"
используя POST, не работает ли она? Это мой первый раз, пытаясь сделать это, поэтому вполне возможно, что я забыл что-то тривиальное.
Вы можете использовать get и post в одно и то же время, но не должны. Если вы хотите продолжить отправку идентификатора, это так же просто, как:
<form ... <input type="submit" ... <input type="hidden" name="id" value="<?php echo htmlspecialchars($_GET['id'], ENT_QUOTES); ?>" /> </form>
Конечно, вы не можете одновременно использовать методы GET и POST.
Однако вы можете использовать строку запроса при отправке формы с использованием метода POST, который используется для заполнения массива $ _GET.
Чтобы найти определенную ошибку, вам нужно предоставить дополнительную информацию. По крайней мере, 2 вещи:
и errr …