1

我在 wordpress 中使用 PHP 短代码 exec 在帖子和页面中执行 PHP

我想从 URL 中获取变量并将它们插入到页面上的 href URL 链接中,但是如果 URL 中不存在变量,我想插入默认值。

例如,如果 url 有变量,如http://mysite.com/?var1=123&var2=456&var3=789

页面上的 url 应该是 href="http://othersite.com/?var1=123&var2=456&var3=789

如果 URL 是:http ://mysite.com/ 站点上的链接应该是 href="http://othersite.com/?var1=abc&var2=def&var3=ghi

我是 PHP 新手,所以很抱歉我没有损坏的代码供您修复,我从头开始。

谢谢!!

4

2 回答 2

0

$_GET contains the parameters sent.

So the following (untested) will give you an idea.

// Set your default values
$aValues = array(
    'var1' => 12,
    'var2' => 12,
    'var3' => 12
      );

// Now run through the default values to see if they were sent with $_GET
foreach ($aValues as $key=>$value) {
    // Isset does the check to see if they were sent
    if (isset($_GET[$key])) {
        $aValues[$key] = $_GET[$key];
    }
}

$url = 'http://mysite.com/?' . http_build_query($aValues); 
于 2012-09-19T01:30:16.017 回答
0
$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']),'https') 
                === FALSE ? 'http' : 'https';
$host     = $_SERVER['HTTP_HOST'];
$script   = $_SERVER['SCRIPT_NAME'];
$params   = $_SERVER['QUERY_STRING'];

$currentUrl = $protocol . '://' . $host . $script . '?' . $params;


if(isset($_GET["var"])) {
 echo $currentUrl; 
}
else { echo "yourwebsite with defualt vars" }

将当前 url 设置为 $currentUrl 变量。如果语句检查 var 是否设置,则回显

于 2012-09-19T01:38:54.530 回答