2015-07-03 81 views
1

我有一個表格如何獲得表單字段在單個陣列中的PHP

<form name="frm_passport" id="frm_passport" action="" method="POST"> 
    <input name="ws[surname]" id="surname" type="text" value="<?php echo (isset($_POST['ws']['surname']) && $_POST['ws']['surname'] != '') ? $_POST['ws']['surname'] : ''; ?>"/> 
    <input name="ws[firstname]" id="firstname" type="text" value="<?php echo (isset($_POST['ws']['firstname']) && $_POST['ws']['firstname'] != '') ? $_POST['ws']['firstname'] : ''; ?>"/> 
    <input name="ws[prevname]" id="prevname" type="text" value="<?php echo (isset($_POST['ws']['prevname']) && $_POST['ws']['prevname'] != '') ? $_POST['ws']['prevname'] : ''; ?>"/> 

這形式後,我的代碼提交

<?php 
if (isset($_POST['Submit']) && $_POST['Submit'] != '') { 
$_POST['ws']['surname'] = (isset($_POST['ws']['surname']) && $_POST['ws']['surname']!="")?$_POST['ws']['surname']:''; 
$_POST['ws']['firstname'] = (isset($_POST['ws']['firstname']) && $_POST['ws']['firstname']!="")?$_POST['ws']['firstname']:''; 
$_POST['ws']['prevname'] = (isset($_POST['ws']['prevname']) && $_POST['ws']['prevname']!="")?$_POST['ws']['prevname']:''; 

echo $_POST['ws']; 
    } 
?> 

在上面的代碼中echo返回一個數組。

如何在提交下面的表單時獲得與$_POST['ws']相同的數組格式。那就是我想在提交時獲取數組中的所有表單域。我不知道數組。我是PHP的新手。請任何人幫助我。在此先感謝

+0

如果您需要打印您需要使用'的var_dump()'或'print_r'陣列。如果你需要打印例如姓氏,你需要使用'echo $ _POST ['ws'] ['surname'];'。打印所有需要用'foreach'遍歷數組的字段:'foreach($ _POST ['ws'] as $ field){//你的數據有魔力} –

+0

@DipenShah Ya我只是忘了在這裏添加它..這就是不是問題實際上 –

+0

@Straven這不是關於如何打印。這是關於如何像上一個那樣獲得這種格式 –

回答

1

你需要改變你的輸入字段的名稱如下

<form name="frm_passport" id="frm_passport" action="" method="POST"> 
    <input name="ws[surname]" id="surname" type="text" /> 
    <input name="ws[firstname]" id="firstname" type="text"/> 
    <input name="ws[prevname]" id="prevname" type="text"/> 
    <input type="submit" name="Submit" value="Submit" id="Submit" /> 
</form>