2017-10-07 62 views
2

我有一個包含嵌入式數據庫報表的頁面(在Wordpress中)。該表單被配置爲基於頁面URL的查詢字符串過濾結果。查詢字符串是特定於用戶的,以便每個用戶都能看到適用於他們的結果。PHP如何在頁面加載之前向URL添加查詢字符串

我在頁面模板中編寫了一個PHP腳本,它生成正確的URL,並添加了查詢字符串。我現在想要做的是使用該URL +查詢重新加載頁面,但不會陷入無盡的重定向循環中!

下面的代碼做我想做的,除了它(顯然)被卡在一個循環!我試過使用exitdie命令,但這似乎沒有幫助。

<?php 

     $user_info = get_userdata(1); 

     $url = esc_url(add_query_arg(array(
      'tbl_invites_username' => $user_info->user_number, 
      'tbl_events_event_id' => '1'), 
      'http://www.example.com/')); 

     header("location: " .$url); 

?> 

我是新來的,所以我很欣賞可能有完全不同的方式來達到同樣的效果 - 我樂於接受建議!

基本上,當用戶點擊包含表單的頁面的鏈接時,我希望他們看到一個表單,併爲其篩選結果。

+0

你的問題可以利用更多的上下文。 'here'會做伎倆。如果你的網址:HTTP'://本地主機:3000 /這= that'你可以使用'回聲$ _GET [「這個」]'輸出'that' – admcfajn

回答

0

你可以只check the current URL第一,看它是否發送重定向頭之前匹配。

<?php 

     $user_info = get_userdata(1); 

     $url = esc_url(add_query_arg(array(
      'tbl_invites_username' => $user_info->user_number, 
      'tbl_events_event_id' => '1'), 
      'http://www.example.com/')); 

     // https://stackoverflow.com/a/6768831/4233593 
     if ($url != "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]") { 
      header("location: " .$url); 
     } 

?> 
+1

感謝傑夫 - 我簡直不敢相信我hadn」以前沒有想過那個!我看不到樹木。優雅的解決方案。 – Willby

相關問題