http - Php $_SERVER["REQUEST_METHOD"] alway return get -


i'm writing code in localhost.

index.php:

   $task = null;      $method = $_server['request_method'];      var_dump($method);      //initialize data     httpprotocol::init();      if (empty($method))         exitapp("unknown method");      if ($method == httpprotocol::get())         $task = new webhookverifytask();     else if ($method == httpprotocol::post())         $task = new processfacebookeventtask();     if (is_null($task))         exitapp("unknown method");      $task->start();     http_response_code(200); 

it doesn't matter if send or post request, $method get. when trying put or delete - changes perfectly..

what cause $method when post ?

update apparently when i'm sending request localhost/path - above behaviour occur. if i'm sending localhost/path/ - post works perfectly.

apparently when i'm sending request localhost/path - above behaviour occur. if i'm sending localhost/path/ - post works perfectly

your update answers question. if it's /path, there's no such file, web server automatically redirects /path/ instead. – janno

when redirection - not request data , methods ?

it cannot. web server decides tell client should try request different url. web server responds 302 found status code , location: http://localhost/path/ header. causes client make http request new location, and new request get request. post requests cannot redirected. (well, theoretically can 307 temporary redirect, in practice not supported.)

you need make request canonical url directly not cause redirect.


Comments

Popular posts from this blog

magento2 - Magento 2 admin grid add filter to collection -

Android volley - avoid multiple requests of the same kind to the server? -

Combining PHP Registration and Login into one class with multiple functions in one PHP file -