Lass Dich nicht beirren von der Request-Method. Der Query_String wird bei jedem Request gesendet:
POST /p.php?query=123 HTTP/1.0
Connection: Close
Content-Length: 3
Content-Type: application/x-www-form-urlencoded
Host: egal
=================================================================
HTTP/1.1 200 OK
Date: Thu, 17 May 2018 18:45:47 GMT
Server: Apache/2.2.14 (Win32) PHP/5.3.0 mod_fastcgi/mod_fastcgi-SNAP-0910052141 mod_perl/2.0.7 Perl/v5.16.3
X-Powered-By: PHP/5.3.0
Content-Length: 139
Connection: close
Content-Type: text/plain; Charset=UTF-8
Array
(
[post] => Array
(
[x] => y
)
[get] => Array
(
[query] => 123
)
)
<?php
header('Content-Type: text/plain; Charset=UTF-8');
print_r( array('post' => $_POST, 'get' => $_GET));
?>
D.h., wenn <form method="POST" action="/p.php?query=123"> gesetzt ist, macht der Browser schon ein POST. Action dito, s. nebenstehend.
Entscheidend ist, was man serverseitig als Kriterium für die gewünschte Aktion betrachtet. Also, ob dieser sog. Schlüsselparameter in $_GET oder $_POST angesiedelt ist.
MfG