2012-10-30 12 views
27

スマートでURLを取得する方法(JavaScriptでwindow.locationに似ています)?スマートで現在のURLを取得する方法

私はこの

{$smarty.server.PHP_SELF} 

が、その作業はありませんでした。解決策を教えてください。

+0

出力はありますか? – senthilbp

+0

コントローラーこれは私が得た – Athi

答えて

98

あなたも、これを使用することができます。

{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI} 
+2

これは最高の答えだったはずです! – shawndreck

+0

私は同意します。それは速くて強固です。 – cptnk

+1

ユーザーがヘッダーフィールドを改ざんすると、セキュリティ上の問題が発生する可能性があります:http://stackoverflow.com/questions/6768793/get-the-full-url-in-php –

4

これは、コントローラのコードです:

<?php 
require_once('libs/Smarty.class.php'); 
$smarty = new Smarty(); 
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") { 
    $pro = 'https'; 
} else { 
    $pro = 'http'; 
} 
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]); 
$current_url = $pro."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI']; 

$smarty->assign("current_url",$current_url); 
$smarty->display('index.tpl'); 

?> 

あなたはindex.tplテンプレートファイルで変数を表示することができます。

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
     <title>Title</title> 
    </head> 
    <body> 

     {$current_url} 

    </body> 
</html> 
+0

ここではPHPを使用することはできません – Athi

+0

私たちはできませんコントローラのコードを使用しないでください? – Athi

+0

それは簡単なPHPファイルです、心配する必要はありません、あなたはこのコードを直接使用することができます – senthilbp