0 レビュー
1 回答
WordpressサイトからPHPファイルの元のURLを取得します
Wordpress以外のサイトにあるお問い合わせフォームへのリンクを含む約100ページのWordpressサイトがあります。
Wordpressサイトをhttps://example.comと呼びましょう。ページの1つをhttps://example.com/refinance-your-home-today/と呼びましょう。
お問い合わせフォームには次のコードが含まれています。このコードには、約75%の確率で元のURL(コード内のclient_url)として「https://example.com」が含まれています。上記の例を使用すると、client_urlは「https://example.com/refinance-your-home-today/」をキャプチャする必要があります。
次のコードを使用すると、client_urlの値がNULLになります:
<?php
session_start();
function wp_get_original_referer() {
if ( ! empty( $_REQUEST['_wp_original_http_referer'] ) && function_exists( 'wp_validate_redirect' ) ) {
return wp_validate_redirect( wp_unslash( $_REQUEST['_wp_original_http_referer'] ), false );
}
return false;
}
$_SESSION['client_url'] = wp_get_original_referer();
次のコードを使用すると、client_urlは約25%の確率で正しく表示されます。約75%の確率で「https://example.com」と表示されます:
<?php
session_start();
$ _ SESSION ['client_url'] = $ _SERVER ['HTTP_REFERER'];
どんな助けでも大歓迎です。
わからない
0
レビュー
答え :
解決策:
問題を解決する回避策を見つけました。
元のURLページで、タグを変更して client_url=(the page url).
index.php
(フォームの最初のページ)に、次を追加しました:
if(isset($_GET['client_url'])) {
$cu = $_GET['client_url'];
}
$_SESSION['cu'] = $_GET['client_url'];
echo $cu; // to verify the URL is being captured
次に、フォームの本文に次を追加しました:
<input type="hidden" name="client_url" value="<?php echo $_SESSION['cu']; ?>">
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。