2017-09-13 12 views
0

私はPHPページ(client.php)に以下のスクリプトを含んでいます。スクリプトはajax呼び出しを実行します。成功すると、別のajax呼び出しを実行します。私は "/client.php"の親パスではなく、 "sql/adminloademail.php"としてrequest_uriを返す2番目のajax呼び出しで問題が発生しています。現在のウィンドウのURLに表示される親パス "/client.php"をエコーするようにPHPに指示するにはどうすればよいですか?別のajax呼び出しの中でループされたajax呼び出しの親URL(現在のウィンドウURL)からのパスを取得します

SCRIPT

$.ajax({ 
    method:'POST', 
    url:'sql/adminaddclient.php', 
    data:formData, 
    contentType: false, 
    processData: false, 
    success: function(data){ 
    $.ajax({ 
     type:'POST', 
     url:'sql/adminloademail.php', 
     success: function(data){ 
     $('#account_list').html(data); 
     } 
    }); 
    } 
}); 

PHP(adminloademail.php)

$page = parse_url(filter_input(INPUT_SERVER, 'REQUEST_URI' , FILTER_SANITIZE_STRING), PHP_URL_PATH); 
echo $page; 
+0

あなたはここで非常に明確にされていない、ドメインの後の部分は '/ client.php'ではありませんが、' /管理 - アドオンclient.php'、それらはハイフンですか? – adeneo

+0

adeneo詳細は私の変更をご覧ください。 – ninjachuku

答えて

0

あなたは変数に、親のURLを設定し、データのparamでそれを送ることができます。

var parentUrl = window.location.href; 

$.ajax({ 
    type:'POST', 
    url:'sql/adminaddclient.php', 
    data:formData, 
    contentType: false, 
    processData: false, 
    success: function(data){ 
    $.ajax({ 
     type:'POST', 
     data:{"parentUrl":parentUrl}, 
     url:'sql/adminloademail.php', 
     success: function(data){ 
     $('#account_list').html(data); 
     } 
    }); 
    } 
}); 

また、ヘッダーから取得することもできます。

$headers = apache_request_headers(); 
if (isset($headers['Referer'])) { 
    echo "Referer: " . $headers['Referer']; 
} 

PHP 5.4.0 apache_request_headersもFastCGIで入手可能です。

PHP 5.5.7以降、apache_request_headersもCLIサーバで利用できます。

http://php.net/manual/en/function.apache-request-headers.php

+0

ありがとう!これは機能します。しかし、純粋なPHPでそれを行う方法はありますか?これが2017年のPHPの制限の1つであることは奇妙に思えます。 – ninjachuku

+0

@ninjachuku Refererをチェックすることができます。私は答えを更新しました。 – Talgat

+0

残念ながら、$ headers ['Referer']は動作しません。 – ninjachuku

関連する問題