Есть ли способ установить $_POST['var']
без использования поля, связанного с формой (no type = 'hidden), и использовать только PHP. Что-то вроде
$_POST['name'] = "Denniss";
Есть ли способ сделать это?
EDIT: Кто-то попросил меня о какой-то разработке этого. Так, например, у меня есть страница с формой на ней. Форма выглядит примерно так:
<form method='post' action='next.php'> <input type='text' name='text' value='' /> <input type='submit' name='submit' value='Submit'/> </form>
После нажатия кнопки «Отправить» я хочу перенаправить на next.php. Есть ли способ установить переменную $ _POST ['text'] в другое значение? Как сделать это постоянным, так что, когда я нажимаю на другую кнопку отправки (например), $ _POST ['text'] будет тем, что я установил на next.php, не используя скрытое поле.
Сообщите мне, если это еще не ясно, и спасибо за вашу помощь.
Да, просто установите его в другое значение:
$_POST['text'] = 'another value';
Это будет отменять предыдущее значение, соответствующее text
ключу массива. $_POST
– суперглобальный ассоциативный массив, и вы можете изменить значения как обычный массив PHP .
Внимание. Это изменение отображается только в пределах той же области выполнения PHP. После завершения выполнения и загрузки страницы массив $_POST
очищается. В новом представлении формы будет создан новый массив $_POST
.
Если вы хотите сохранить значение в представлениях формы, вам нужно будет поместить его в форму как атрибут value
input
тега или получить его из хранилища данных.
Если вы хотите установить $ _POST ['text'] на другое значение, почему бы не использовать:
$_POST['text'] = $var;
на next.php?
вы можете сделать это с помощью ajax или путем отправки http-заголовков + контента, например:
POST /xyz.php HTTP/1.1 Host: www.mysite.com User-Agent: Mozilla/4.0 Content-Length: 27 Content-Type: application/x-www-form-urlencoded userid=joe&password=guessme
Вы можете сделать это с помощью jQuery. Пример:
<script src="https://code.jquery.com/jquery-1.11.2.min.js"></script> <script> $.ajax({ url : "next.php", type: "POST", data : "name=Denniss", success: function(data) { //data - response from server $('#response_div').html(data); } }); </script>