大家好:
我在一個頁面(node)中需要寫一個個別檔案下載次數的功能,
由於對於drupal模組或其他功能就不熟悉,因此我是用土法煉鋼的方式,
在編輯頁面中將輸入格式選擇為PHP code,
然後在用類似下列的方式手動再重新連資料庫:
$link = mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());
mysql_select_db("yyy") or die(mysql_error());
然後在去yyy資料庫中擷取個別檔案下載次數:
$count = mysql_fetch_row(mysql_query("SELECT count FROM download_count where id='01'"));
echo $count[0];
當然下載的方式是再導到另外一個 getfile.php檔進行,並更新資料庫的下載次數。
但是我卻碰到一個問題,如果使用者有登入的話,下載次數則能夠正常更新(意即每點選一次,下載次數就會+1)
但如果使用者是匿名為登入的話,則下載次數卻不會更新,仍舊顯示舊的下載次數,
但我去看資料庫下載次數的部分,卻已經+1了,
想請問各位不知道這是什麼問題呢?
搞了好久還是搞不出來,
謝謝囉!
Re: 使用者登入與資料庫更新的問題
你打開了 CACHES
匿名是會被 CACHED
清一清就可以:
http://api.drupal.org/api/function/cache_clear_all/6
---
notaBlueScreen | 一天一翻譯,好過吃蘋果
Re: 使用者登入與資料庫更新的問題
你好,感謝回應!
我是直接在頁面編輯中加入 cache_clear_all(); 程式碼,
不過好像沒作用,不知道是不是這樣的語法有錯呢?
另外,我根據你所說的搜尋了快取相關的訊息,
後來我是將整個網站的設定中將快取給取消了,
在Administrator -> 網站設定 -> 效能 中,將快取模式改為[關],
之後就沒問題了,但預設是[一般],不知道這樣會不會對網站影響太大呢?
謝謝!
Re: 使用者登入與資料庫更新的問題
請看 API 的 CODE
---
notaBlueScreen | 一天一翻譯,好過吃蘋果
Re: 使用者登入與資料庫更新的問題
在 Drupal 中對於下載的處理,包括管制權限、計算次數有它的方法,參考 Restrict specific folders from public download (via .htaccess)。有一些模組對於這類的處理已經包裝好了,可以直接拿來用,例如 Private Download。
如果對 Drupal 的 File System 不熟悉,可先看 File system settings。