2016-04-12 4 views
0

ユーザーが連絡フォームを送信するページURLを動的に送信することを検討しています。連絡先フォームとのページURLの送信

たとえば、誰かがホームページで連絡先フォームを使用した場合、URL(https://www.example.com/)が電子メールに追加され、これはユーザーがページを送信したページによって変わります。 URLから

http://example.com/email/index.php

次のようにはい、これは仕事が、しかし、私は介して取得URLがあるん

$absolute_url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 

を - さて、私が使用して試してみました

メーラーのスクリプトが独自のディレクトリにあり、ファイルが別のものになっていると思いますere $ absolute_urlからフェッチしています。

ご協力いただきまして誠にありがとうございます。

ありがとうございました Cal。

+1

$ _SERVER ['HTTP_REFERER'] ' –

+0

js 'window.locationを試してください。href' – madalinivascu

+0

@RoryMcCrossanありがとうございました。 $ _SERVER [HTTP_REFERER] – Cal

答えて

0

:ここ

は同じのための機能です。 @生徒の機能は、トリックを行うことができますが、あなたは1つの問題があるかもしれません。

すべてのサーバーで$ _SERVER ['HTTPS']が設定されていないため、HTTPSが$ _SERVER配列にないというエラーが表示されることはありません。

お知らせ:未定義のインデックス:ような何かHTTPSキーが存在しない場合に比較することができませんので...

にそれはあります。

if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 

それは変数が「設定」または参照のために利用可能であるかどうかをチェックするため、あなたはisset()を使用する必要があります。

"@"演算子を使用して可能性のある通知を抑制することもできますが、機能ロジックを少し変更する必要があります。あなたはそれを持つことができます:

function getCurrentUrl(){ 
     $pageURL = @($_SERVER["HTTPS"] != 'on') ? 'http://'.$_SERVER["SERVER_NAME"] : 'https://'.$_SERVER["SERVER_NAME"]; 
     $pageURL .= ($_SERVER["SERVER_PORT"] != 80) ? ":".$_SERVER["SERVER_PORT"] : ""; 
     $pageURL .= $_SERVER["REQUEST_URI"]; 
     return $pageURL; 
     }  
echo getCurrentUrl(); 

これは役立ちます。

+0

ご協力いただきありがとうございます!素晴らしい説明、すべてが今働いています。 – Cal

1

URLを含むフォームに非表示の入力を作成できました。

HTML形式で

<input id="ref" name="url" type="hidden" value=""/> 

Javascriptを

document.getElementById("ref").setAttribute("value",window.location.href); 
0

あなたの説明から、あなたが現在のページのURLをしたい、と思われます。あなたは現在のURL値を必要とする

<?php 
function curPageURL() { 
$pageURL = 'http'; 
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} 
$pageURL .= "://"; 
if ($_SERVER["SERVER_PORT"] != "80") { 
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; 
} else { 
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; 
} 
return $pageURL; 
} 
echo curPageURL(); 
?> 
+0

でHTTPSが$ _SERVER配列にない場合、エラー通知を返す可能性があります。 – Darko

関連する問題