我从以下地方获得了以下代码,但它似乎没有起作用:
function http() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
return $http;
}
有人可以帮忙吗?
我尝试做的是在输入$ http
时返回网站协议例如:
<a href="<?php echo $http . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>
我已经关闭了$ websiteurl,我似乎无法让它回应http vs https。我对功能知之甚少,所以我不确定如何排除故障。
答案 0 :(得分:4)
http
是一个函数,因此您不要使用$
尝试:
function http() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
return $pageURL; // <-changed
}
<a href="<?php echo http() . $websiteurl . '/index.php'; ?>">Website URL including Protocol</a>
澄清:
$http = 'variable';
function http() {
return 'function';
}
var_dump($http);
var_dump(http());
答案 1 :(得分:2)
<a href="<?php echo http() . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>
答案 2 :(得分:1)
您试图通过http()
获取$http
的值。试试这个:
<a href="<?php echo http() . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>
$http
仅在http()
函数范围内定义。
答案 3 :(得分:1)
该功能将按原样触发E_NOTICE
错误,请尝试以下操作:
function http() {
return (getenv('HTTPS') == "on" ? 'https://' : 'http://');
}
然后正如mkjasinski所说,
<a href="<?php echo http() . $websiteurl .'/index.php'; ?>">Website URL including Protocol</a>