Установка переменной POST без использования формы
Есть ли способ установить $_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, не используя скрытое поле.
Сообщите мне, если это еще не ясно и спасибо за вашу помощь.
Ответы
Ответ 1
Да, просто установите его в другое значение:
$_POST['text'] = 'another value';
Это переопределит предыдущее значение, соответствующее клавише text
массива. $_POST
- суперглобальный ассоциативный массив, и вы можете изменить значения, как обычный PHP-массив.
Предостережение: Это изменение отображается только в пределах той же области выполнения PHP. После завершения выполнения и загрузки страницы массив $_POST
очищается. В новом представлении формы будет создан новый массив $_POST
.
Если вы хотите сохранить значение в представлениях формы, вам нужно будет поместить его в форму в качестве атрибута input
tag value
или получить его из хранилища данных.
Ответ 2
Если вы хотите установить $_POST ['text'] на другое значение, почему бы не использовать:
$_POST['text'] = $var;
на next.php?
Ответ 3
вы можете сделать это с помощью 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
Ответ 4
Вы можете сделать это, используя 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>