我有這樣的::使用後.... file.php
pm.php?v=unread
現在在讀,你也可以按消息或邀請過濾器和鏈接看起來是這樣的:
<a href="?f=msgs">Msgs</a> | <a href="?f=invites">Inv.</a>
如果你在pm.php?v=unread,
裏面並按下Msgs,它會變成pm.php?f=msgs
。 我希望它是pm.php?v=unread&f=msgs
我該怎麼做?
我有這樣的::使用後.... file.php
pm.php?v=unread
現在在讀,你也可以按消息或邀請過濾器和鏈接看起來是這樣的:
<a href="?f=msgs">Msgs</a> | <a href="?f=invites">Inv.</a>
如果你在pm.php?v=unread,
裏面並按下Msgs,它會變成pm.php?f=msgs
。 我希望它是pm.php?v=unread&f=msgs
我該怎麼做?
<a href="?<?=($_GET['v']=="unread"?'v=unread&':'')?>f=msgs">Msgs</a>
或
<a href="?<?=($_GET['v']?'v='.$_GET['v'].'&':'')?>f=msgs">Msgs</a>
<a href="pm.php?f=msgs&v=<?php echo $_REQUEST['v']; ?>">Msgs</a>
你必須弄清楚所有的GET變量,並將它們添加到的URL。 例如,你可以做這樣的事情在你的pm.php:
$params = ((isset($_GET['v'])?'v=' . $_GET['v']:'');
$params .= //do the same for all your expected variables
你會做一些這樣的頁面:
<a href="?f=msgs&<?php echo $params; ?">Msgs</a> | <a href="?f=invites&<?echo $params; ?>">Inv.</a>
這顯然是短又髒。假設如果你想保持所有您$ _GET瓦爾,並添加一個額外的到您的鏈接,考慮array_merge()
和http_build_query()
你將永遠有參數,可以等
。
$gets=array_merge($_GET,array('f'=>'msgs'));//returns array with your new values overriding any old values
$getstring=http_build_query($gets);
$link="<a href="?$getstring>Msgs</a>";
這個答案將從長遠來看幫助你 – Galen 2010-11-01 18:25:49
這是一個有趣的問題。因爲如果您不使用任何$ _GET值,並且您單擊了消息?然後,它會去pm.php & F =現在這裏封郵件是我的解決方案:)
function appendURL($name, $value)
{
// if we have a variable holding the '?' position
if(strpos($_SERVER['REQUEST_URI'], '?'))
{
// append the value in the & position
return $_SERVER['REQUEST_URI'] . "&$name=$value";
}
// otherwise, append it in the ? position
return $_SERVER['REQUEST_URI'] . "?$name=$value";
}
現在你的情況
<a href="<?=appendURL('f', 'msgs')?>">Messages</a>
有一段時間沒有這樣做,所以不要如果有一點點關閉,我會將它釘十字架! :)
<?=已被棄用。使用href =「<?php echo($ _GET ['v']?'v = unread&':'');?> f = msgs」 – 2010-11-01 18:09:20
這將是一個巨大的痛苦,如果你得到更多的物品在您的查詢字符串 – Galen 2010-11-01 18:25:26