Задать вопрос
@DvorkinFromChaos

Трудность при работе с формами — почему параметры переданные через GET теряются?

Суть такая -- мне нужно сделать это именно при помощи GET запроса
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<br/>
<form action="" method="GET">
	Имя: <input type="text" name="username"><br><br>
	<button name="submit">Отправить</button><br><br>	
</form>
</body>
</html>

После формы следует этот код.
<?php
	if (isset($_GET['submit'])) {
		echo "Получили GET запрос от " .$_GET['username'];
	}
	else{
		echo "Введите своё имя <br>";
	}
?>

Проблема в том, что параметр теряется . И первый if не исполняется . При этом меня перекидывает на index.php(Я работаю с Openserver)
В чём может быть проблема ? Буду рад любой помощи.
  • Вопрос задан
  • 292 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
А так?
if (array_key_exists('submit', $_GET)) {
...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@artem-dainov
Php, java, js. Boot spring, jquery, git
В кнопку нужно добавить type='submit'
Убрать action="" Или вписать страницу на которую идет отправка.
Советую поставить exit(); перед первым if и посмотреть в адресную строку, есть ли там get параметры. Если есть, то проблема в вашем скрипте. Никогда не доверяйте пустому name в кнопке. У вас должно быть хотя бы так. name=submit' value='ok' Тогда первый if будет работать. Функция isset проверяет не пуста ли переменная, в том числе и get параметр, который вы указали.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы