2012-11-03 88 views
2

僅在本地主機上使用SQLite3,PDO和PHP5。PHP PDO SQLite3轉換日期字符串

正在使用網頁表顯示列,樣本集(表中有1條記錄),用於選擇列的複選框以及用於爲後續查詢選擇修改器的下拉列表。 在「獲得查詢」按鈕被點擊,簡單的查詢時間..

SELECT day FROM tbl; 

..gets變成..

SELECT datetime([day],'unixepoch','+978307200 seconds','localtime') as day FROM tbl; 

(這是通過一個字符串進行替換功能)

(使用cookie,因爲我也路過很多其他的數據)

它然後通過cookie來一個結果頁面通過

此查詢將現在那些秒添加到CON (vs UTC)

如果我直接將查詢硬編碼到「results.php」頁面,它可以正常工作。如果頁面使用前一頁設置的cookie中存儲的查詢,則不會得到結果。檢查結果頁面元素,我可以看到cookie已經設置完整的查詢。

我已經收窄至"+978307200" modifyer ......原因無它,它工作正常(除了是978307200秒出良好狀態的!)

我撿的東西正在發生的「 +「號,但完全喪失瞭如何解決這個問題。

任何意見/建議? 謝謝。

回答

0

在URL和cookie加上sing是一個空格的佔位符,並且$_COOKIES數組包含已分析的cookie標頭,因此每個plus都會更改爲空間。

如果您確實必須在頁面之間傳遞這種數據,請使用session。

如果由於某種原因會話不是一個選項,您必須將您的值編碼爲僅包含「安全」字符,然後再將其存儲到Cookie中,然後在使用之前將其解碼。最受歡迎的是base64_函數

+0

傳奇!! ......不知道關於cookie和+號。 我更簡單的解決方法是在設置cookie時放置一個佔位符(「#」),當我在另一端獲取它時str_replace它。 感謝您的快速響應。真棒。這總是那樣的小東西,導致如此多的悲傷。 乾杯。 – ShaneH