Метод PHP $ _GET не работает на сервере, но работает на локальном хосте - PullRequest
0 голосов
/ 30 декабря 2018

У меня проблема с методом GET, у меня есть 2 страницы с именами index.php и packages.php ... index.php сгенерировал запрос метода POST и передал значения в package.php, используя приведенный ниже код

if(isset($_POST["categorystring"])){
$retval = $_POST["categorystring"];
header("location:packages/category/".php_slug($retval)."");
}elseif(isset($_POST["allpackage"])){
$retval = $_POST["allpackage"];
//var_dump($retval);
header("location:packages/details/all-packages/1");
}

function php_slug($string)  
{  
    list($categoryid, $categoryname) = explode(":",$string);
  $url = strtolower(str_replace(' ', '-', $categoryname))."/".$categoryid;
  $slug = preg_replace('/[^a-z0-9-]+/', '-', trim(strtolower($url)));  
  return $url;  
}

и другая сторона package.php Я использую GET, чтобы получить значения как:

if(isset($_GET['categorystring'])) {
  $getstring=$_GET['categorystring'];
  list($stringname, $id) = explode("/",$getstring);
$stringname = str_replace("-"," ",$stringname);
$querystring = "category";

}elseif(isset($_GET['allpackage'])) {
  $getstring =$_GET['allpackage'];
  list($stringname, $id) = explode("/",$getstring);
 $stringname = str_replace("-"," ",$stringname);
$querystring = "allpackages";
}

МОЙ URL - КАК ДЛЯ package.php

http://localhost/ladakh/packages/category/mountaineering-in-ladakh/2

, так как я также использую .htaccess для создания удобного для пользователя URL с помощью PHP как

RewriteRule ^packages/category/([a-zA-Z0-9-/]+)?$ packages.php? 
categorystring=$1 [NC,L]
RewriteRule ^packages/details/([a-zA-Z0-9-/]+)?$ packages.php?allpackage=$1 
[NC,L]

Он отлично работает на локальном хосте, но не работает на сервере, так как я изменил версию PHP с 5.4 на 7.1на сервере, но вывод такой же ...

Что может быть причиной этого ????

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...