我有一个非常奇怪的问题,或者我可能会忽略一些非常简单的事情。
我有一个网址:http://sub.domain.com.au/q/quote-step-two/?id=228&optionid=278
我无法在php中获得'optionid'。
所以试试这个我试过了:
echo "\$optid =". $optid ; // empty
echo "get =" . $_GET['optionid']; // empty
var_dump($_GET); //array(1) { ["id"]=> string(3) "228" }
如果我将网址更改为:,那么奇怪的是
sub.domain.com.au/q/quote-step-two/?optionid=278
甚至
sub.domain.com.au/q/quote-step-two /
var_dump($_GET)
给了我array(1) { ["id"]=> string(0) "" }
如果我在httpfox上查找网址,则会显示2个获取变量。
这是htaccess
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
目前这是有效的,如果我q / quote-step-two / 228。我怎么得到它来拿起第二个参数?比如q / quote-step-two / 228/227 /
答案 0 :(得分:0)
试试这个......
$q = $_GET["q"];
unset($_GET["q"]);
$gets = explode("&", $q);
foreach($gets as $get){
$get = explode("=", $get);
$_GET[$get[0]] = $get[1];
}
print_r($_GET);
更新
$uri = $_SERVER["REQUEST_URI"];
$uri = explode("?", $uri);
if(!empty($uri[1])){
$gets = explode("&", $uri[1]);
foreach($gets as $get){
$get = explode("=", $get);
$_GET[$get[0]] = $get[1];
}
}
print_r($_GET);
答案 1 :(得分:0)
好好经过多次吹头发,这就是问题所在。
即使父页面在查询字符串上有第二个参数,但页面中嵌入的iframe网址只有id,即使父网址为空,它也显示'id =',
我只是复制并将父查询字符串添加到ifram路径。并修复了问题