Это потому, что вы не указываете method
своей формы, поэтому вы испытываете метод GET
.
По умолчанию method
для элемента <form>
- GET
, который представляет собой одну или несколько переменных, которые анализируются в URL
.
Вот почему вы иногда видите такие примеры в URL:
www.example-site.com?id=1
Или
www.example-site.com?id=1&name=bob
В этом примере переменными GET
являются id
и name
. В зависимости от языка на стороне сервера вы можете получить эти переменные.
Пример использования PHP:
<?php
$myVar = $_GET['id'];
// $myVar2 = $_GET['name'];
?>
Это будет хранить переменную GET
, проанализированную в URL
примере I дал ранее.
Чтобы форма не использовала GET
method
, определите method
как POST
в теге <form>
.
Пример:
<form action="http://www.the-sample-website.com" method="post">
<!-- Your form stuff -->
</form>
РЕДАКТИРОВАТЬ:
Красиво @Martin. Но должен ли я установить метод "post", даже если я хочу перенаправить без данных формы?
@ Victor Soares
Ответ: Если все, что вы хотите сделать, это перенаправить без отправки каких-либо данных, тогда вам вообще не нужен <form>
. Вы можете просто использовать тег <a>
или, если вы хотите сохранить свою кнопку logi c, создайте функцию JavaScript, которая выполняет перенаправление за вас.
Пример:
function redirector(){
alert('this function redirects to Google');
var url = "https://www.google.com/"
window.location.href = url;
}
const redirectButton = document.querySelector('#redirectButton');
redirectButton.addEventListener("click", function() {
redirector();
});
<button id="redirectButton">I take you to Google!</button>