這是一個很難描述的問題。php/mysql/javascript - 頁面加載後需要設置GET變量(包括url)
大圖: ajaxed對話框提交到頁面以創建新的內容集記錄。創建內容集記錄後,這個新創建的內容集應該是選定的內容集,並且所有創建或修改的內容都需要附加新創建的內容集標識。內容集ID是在頁面加載期間使用MySQL中的自動增量字段創建的。
問題詳細信息: 我有一個頁面使用ajax來調出內容集創建對話框。該對話框提交到一個空白的URL,因爲它可能從多個位置調用,並且我希望該對話框提交給它所調用的任何url。在對話框提交到它被調用的頁面之後,頁面上的一些PHP將在MySQL數據庫中創建一個內容集記錄。我需要使用GET變量(最簡單的方法,因爲我已經通過分頁變量以這種方式)傳遞了新創建的記錄的插入標識,但由於頁面必須先加載才能獲取插入標識,因此我沒有填充GET變量需要的所有位置的方式(在頁面鏈接上,php $ _GET變量,url)。
有些事情要考慮:
- 我將通過一個會話變量通過周圍新建插入ID,除了當有人點擊後退按鈕這會導致問題,會話變量不會恢復到以前的值。
- 我會使用Javascript和PHP來改變這個插入id變量的各個位置,除非他們拉起另一個提交到空白url的ajaxed對話框,否則空白url當然不會有新的GET變量。而且,這看起來很sl and,而且會是一場噩夢。
- 我會在創建記錄後,在添加新的GET變量後重定向回同一頁面,除非我無法傳遞POST變量,從而使得錯誤和成功消息成爲完整的屁股疼痛。我不想使用GET vars來告訴頁面顯示什麼錯誤/成功消息,因爲GET vars使用$ _SERVER ['QUERY_STRING']以及空白鏈接在頁面間傳遞。
- 我可以不創建新創建的內容集自動加載後創建。這使得用戶可以自己加載新創建的內容集,這一點我想避免。
有沒有什麼優雅的解決方案呢?由於網站設置的方式,此問題可能非常獨特,但有人必須處理類似的問題。爲了解決這個小問題,我希望不必過多地改變網站設計。任何想法都歡迎。
我真的很喜歡這個想法。這在許多方面可能有用。一個問題是,如果用戶多次點擊後退按鈕,他們可能需要多個id更改,這些更改不會全部存儲在會話var中,但我相信我可以將它與GET var或其他東西一起使用來創建會議ID的永久後退鏈。 – dqhendricks 2010-11-20 19:15:47