1

どこかから取得した次のコードがありますが、機能していないようです:

function http() {
 $pageURL = 'http';
 if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
 $pageURL .= "://";
 return $http;
}

誰か助けてくれませんか?

私がやろうとしているのは、$http を入力したときに Web サイトのプロトコルを返すことです。

元:

<a href="<?php echo $http . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>

$websiteurl がダウンしています。http と https をエコーするようには見えません。私は関数についてあまり知らないので、トラブルシューティングの方法がわかりません。

4

4 に答える 4

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());
于 2013-03-18T15:06:07.740 に答える
2
<a href="<?php echo http() . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>
于 2013-03-18T15:06:08.453 に答える
1

http()viaの値を取得しようとしています$http。これを試して:

<a href="<?php echo http() . $websiteurl .'/index.php' ?>">Website URL including Protocol</a>

$http関数のスコープでのみ定義されhttp()ます。

于 2013-03-18T15:05:49.580 に答える
1

関数はE_NOTICEそのままエラーをトリガーします。これを試してください:

function http() {
     return (getenv('HTTPS') == "on" ? 'https://' : 'http://');
}

それから、ムキャシンスキーが言ったように、

<a href="<?php echo http() . $websiteurl .'/index.php'; ?>">Website URL including Protocol</a>
于 2013-03-18T15:08:34.553 に答える