2011-05-30 28 views
0

只是一個簡單的問題。PHP和JavaScript - 重定向到一個動態的URL

目前,我有一個登錄腳本,該腳本重新指向dashboard.php,用戶可以點擊按鈕檢索預先選定的當前月份和年份的Google Analytics統計信息。

的URL,2011年5月是:dashboard.php?month=May&year=2011&submit=Get+Statistics!

所以我試圖做的是有統計數據與網頁,而不必點擊按鈕加載。

我能想到做到這一點的唯一方法是通過改變下面一行在我的登錄腳本:

// redirect to secure page 
document.location='dashboard.php'; 

喜歡的東西:

// redirect to secure page 
document.location='dashboard.php' + <?php echo ?month=currentMonth&year=currentYear&submit=Get+Statistics! ?>'; 

與設置爲月份和年份變量如下: $ currentMonth = date('F'); $ currentYear = date('Y');

但這不起作用,它只是正常地轉到dashboard.php。

任何想法?

回答

2

你錯過了在第二個字符串前面的單引號:

document.location='dashboard.php' + '<?php echo "?month=currentMonth&year=currentYear&submit=Get+Statistics!" ?>'; 

應該在PHP文件中工作。

+0

啊,謝謝,麻煩的是,我從字面上被重定向到'dashboard.php <?php echo「?month = currentMonth&year = currentYear&submit = Get + Statistics! '',看看我是否可以在這段時間內搞定它。 – martincarlin87 2011-05-30 10:44:28

+0

這是一個PHP文件中的JavaScript?否則,PHP語句將不會執行。即,它所在的文件必須以.php結尾,並位於服務器上(本地使用XAMPP/MAMP等或遠程)。 – 2011-05-30 10:47:40

+0

我有login.php,其中包含login.js,而login.js中又有這個重定向代碼。 – martincarlin87 2011-05-30 10:48:53

1

我不知道這是當你寫你的文章,但你的回聲缺失報價:

試試這個:只要你是

document.location='dashboard.php' + <?php echo "?month=currentMonth&year=currentYear&submit=Get+Statistics!"; ?>'; 
+0

謝謝,我試過'document.location ='dashboard.php'+ <?php echo「?month = $ currentMonth&year = $ currentYear&submit = Get + Statistics!」; 「但是我恐怕沒有快樂。 這可能是一個問題,但js是在php變量設置後包含的外部文件中,所以我認爲這不應該打破它。 – martincarlin87 2011-05-30 10:27:23

1

在同一範圍內,你可以得到變量的代碼的任何部分:

// redirect to secure page 
document.location='dashboard.php' + <?= "?month=$currentMonth&year=$currentYear&submit=Get+Statistics!"; ?>'; 
+0

謝謝,除了'<?='外,看起來和我嘗試的一樣,是一個錯字還是我之前沒見過的東西?無論如何我都試過了,它會殺死頁面! – martincarlin87 2011-05-30 10:31:05

+0

它被稱爲短打開標籤,它不是一個好的編程風格。 http://php.net/manual/en/ini.core.php#ini.short-open-tag我覺得我太習慣編碼了:P – 2011-05-30 10:34:35

+0

很酷,我知道你可以做<?但從未見過<?=。我曾經使用<?但事實證明它可能會導致問題取決於服務器,因爲有些無法處理它,所以我現在總是使用'​​長'版! – martincarlin87 2011-05-30 10:36:04