我有我想要的數組,每當我提交我的表單後值插入到該數組中,每次與新增加索引.. 我該怎麼做?是的submited頁面重定向到本身......如何在插入時將值推入數組並同時增加數組索引?
回答
你可以使用這個會話變量解決。這樣數據不會被覆蓋。這裏有一個例子:
$_SESSION['formdata'][] = $_POST['value1'];
$_SESSION['formdata'][] = $_POST['value2'];
後重新加載腳本中的數據仍然可用的推動其它值到數組不會覆蓋舊的。你只是再次做:
$_SESSION['formdata'][] = $_POST['value3'];
$_SESSION['formdata'][] = $_POST['value4'];
調用$ _SESSION ['formdata'] - 數組,你現在有所有4值存儲在那裏。
**編輯** 我終於回家了,正如我們已經討論過的那樣,我會提供另一種使用cookie的解決方案,因爲會話不適合您。所以我們走吧...
首先,我們需要考慮我們想要命名cookie的方式。我建議我們通過IP地址和任何後綴來做到這一點,以確保它確實是已經填充的用戶,前者的形式。
因此,我們可以這樣的:
$dataArray[] = $_POST['value1'];
$dataArray[] = $_POST['value2'];
然後,我們需要將數據存儲到cookie中。我們通過序列化數組來完成此操作,因爲我們不想保存數百個Cookie。這將工作是這樣的:
$cookievalue = serialize($dataArray);
// Here we actually generate a cookiename in the format of "IP_formdata"
setcookie($_SERVER['REMOTE_ADDR'] . '_formdata', $cookievalue);
到目前爲止好。在接下來的形式,我們獲取的cookie數據和反序列化數據,所以我們可以延長這個數組:
$dataArray = unserialize($_COOKIE[$_SERVER['REMOTE_ADDR'] . '_formdata');
現在,我們可以將其他值到數組從第二個窗體添加:
$dataArray[] = $_POST['value3'];
$dataArray[] = $_POST['value4'];
畢竟附加價值已經投入到這個陣列我們再次序列化並再次將其重新存儲到:
$cookievalue = serialize($dataArray);
setcookie($_SERVER['REMOTE_ADDR'] . '_formdata', $cookievalue);
現在我們可以重複這個步驟,所有進一步的形式。請記住,如果你想處理數據,你首先必須對數據進行反序列化並將其存儲到數組中。
不要忘記,因爲我已經在評論中指出:用戶可以關閉cookie,那麼整個事情將無法正常工作。您還可以添加一些額外的檢查來驗證這是否是正確的用戶或某事。我沒有測試代碼,但我認爲它應該以這樣的方式工作,我希望我可以幫助你,或者至少給你一個提示:)
在PHP:
$arr[] = value;
$arr[] = other value;
在HTML:
<input type="text" name="arr[]" />
<input type="text" name="arr[]" />
但是,這個替換我最後插入的值在數組 – 2010-06-16 11:55:26
不,它沒有。 – 2010-06-16 11:56:00
我有一個$ _SESSION ['bannersize'] []數組,每次提交表單時應該將數值$ _POST ['bannersize']與前面的值一起追加到數組中,但是這不會發生,每個新值都會重寫最後一個值導致我在第0個索引處僅有一個值 – 2010-06-16 11:58:07
- 1. 增加數組大小並在最後索引插入元素
- 2. 將ngModel引用推入數組時
- 3. 如何將數組插入數組的特定索引?
- 4. 維數組,並插入通過索引
- 5. 動態插入值數組索引
- 6. 將php數組傳入javascript,檢查數組值並將其推入新數組
- 7. 將值推入數組
- 8. 將數組推入數組
- 9. 在加入時將行插入組
- 10. 如何將值推入數組
- 11. jQuery的舊值檢查數組並將新值推入數組
- 12. 數組值並插入ksh
- 13. 如何在增加時讓數組的索引「翻轉」?
- 14. 當我將一個元素插入數組時,數組索引超出範圍
- 15. 如何將數組插入數組
- 16. 將值插入數組並顯示,nasm
- 17. 遞增數組索引輸入
- 18. 用jQuery在表格中插入新行並增加數組數
- 19. 如何增加數組索引
- 20. 如何將數組值插入db
- 21. 如何搜索Google表格列中的數組值並在未找到時插入數組值?
- 22. 將數組索引增加1 C#
- 23. 整數索引在數組中增加
- 24. MongoDb PHP將插入值插入數組數組
- 25. 將數字推入數組
- 26. 插入數組值
- 27. 將$ id值推入數組值
- 28. 如何增加整數數組的索引值
- 29. 將值插入Ruby中的每個其他數組索引
- 30. 對數組進行排序並將值插入該數組並返回最低索引的函數
那是什麼我正在做...但它不工作 – 2010-06-16 12:03:57
檢查你是否無意中寫了一行'$ _SESSION ['formdata'] [] = array();'代碼中的任何地方。如果是這樣,那麼數組將被清除。只要刪除一條這樣的線。 當你運行這個時會發生什麼: echo'
'; – 2010-06-16 12:23:39它向我輸出一個最後提交時插入的值 – 2010-06-16 12:26:57