我有一些調查問卷,其中有一些字段檢查(用PHP + HTML編寫)。所以我通過https發送數據。PHP會話行爲
它的工作原理是這樣
<form id="frm_order" method="post" action="https://site/service_for_businesses" autocomplete="off">
<input name="username" id="username" size="40" maxlength="500" type="text" value="">
<button name="Submit" id="Submit" value="Отправить" type="submit" onclick="return final_check();"></button>
</form>
後用戶點擊提交按鈕所有的數據移動到$ _SESSION [「PARAMS」],然後傳遞到這個數據正在檢查輔助類。如果一切正常,那麼用戶被重定向到「成功頁面」(這部分工作正常),但是如果在表單字段中USER數據中有任何錯誤,則$ _SESSION [..]被傳遞給VIEW控制器,頁面被刷新並且在出現錯誤的表單字段附近出現警告。 的問題是,有一個奇怪的行爲是這樣的:
1)我寫了一些數據,例如我寫下一個用戶名「彌%^ XS」
2)按下提交
3)有一個錯誤檢查數據,導致用戶不允許使用特殊符號,所以有重定向
4)我看到一個頁面,用我的用戶名和警告低於
5)我什麼也沒做,只是按下提交 - >重定向
6)我得到空的領域沒有任何警告
7)我按SUBMIT - >重定向
8)我得到了與步驟4相同的東西 - 我的用戶名有警告
etc
我不明白爲什麼。
我的網站被部署到2臺Web服務器(避免DdoS)與平衡器。 這就像在兩臺服務器上有兩個具有相同ID的會話
我終於解決了這個問題。看來,有2個額外的服務器與nginx作爲代理。所以我編輯了它的配置文件並解決了問題。 –