用户serialize()
,就像你说的。但是,要添加另一个按钮,您需要 JavaScript。这是一个表格:
<form action="action.php" method="post">
<div id="phoneNumbers">
<input type="text" value="home phone">: <input type="text" name="0-value" value="(xxx)xxx-xxxx">
</div>
<button onclick="addAnother();">Add Another Phone Number</button>
<input type="submit>
</form>
这是javascript(放入页面的head标签):
<script type="text/javascript">
var nums=0;
function addAnother(){
document.getElementById('phoneNumbers').innerHTML+='<input type="text" name="'+++nums+'-name">: <input type="text" name="'+nums+'-value">';
}
</script>
这是action.php:
<?php
$arrayOfNums=array();
foreach($_POST as $curVal){
array_push($arrayOfNums,$curVal);
}
$serializedArray=serialize($arrayOfNums);
#now do whatever code you have to add serializedArray to your database. It is a string, so this is easy.
?>
现在您的数据库中有一个序列化数组。只要unserialize()
它,你就有一个这样的数组,在名称和值之间交替:'home tel'、'(324)444-4356'、'work tel'、'(444)546-5678' 等。这是未经测试的,告诉我如果失败了。