2015-06-04 116 views
0

我需要從窗體輸入填充關聯數組。用戶每次單擊提交時都會運行PHP腳本,然後將它們重定向到可以將其他鍵值對添加到陣列的表單。由窗體輸入填充的PHP關聯數組

<form action="submit.php" method="post" name="form-one"> 
    <input type="text" name="name"> 
    <input type="text" name="id"> 
    <button type="submit">Submit</button> 
</form> 

<?php 
    //Add input vales to associative array dynamically 
?> 

所以每個形式得到處理的時間,我需要保存在一個鍵值對的名稱和ID,將在上一代人所保存。

+0

這裏的魔術字是AJAX – treegarden

+0

你在哪裏/如何存儲數據? – jeroen

+0

請參閱http://stackoverflow.com/questions/14390042/my-array-values-keep-dissapearing-and-refreshing-in-php – sAcH

回答

2

那麼,這將有點棘手,因爲每當表單被傳遞並終止時,php腳本就會被執行。你可以做的是將以前的數據保存到某個數據庫,或者將其序列化到一個文件中,然後簡單地讀取正在執行的文件,然後在最上面追加最新的條目。

解決這個問題的另一種方法是使用會話。您可以將數組存儲在會話變量中,例如$_SESSION['array'],並簡單地追加到每次處理表單時。

0

這不是一個好的解決方案,難道你不能直接使用提交的數據嗎?在你的過程中,你必須將這些值放入會話中,這會使得後面的處理不必要麻煩。

if(isset($_POST['form-one'])){ 
    $_SESSION[formData[$_POST['id']]] = $_POST['name']; 
} 

這會將數組formdata放入您的會話數組中,id變成索引並命名該值。

+0

我得到一個錯誤 PHP語法檢查:解析錯誤:語法錯誤,意外的'[ ',期待']'在你的代碼中 –