2011-10-26 20 views
0

你能幫我把選定的值從一個表單寫入一個帶有它們id的文件中嗎?我有html表單:將數組寫入帶有ID的文件?

<form name="frm1" method="post" action="form_to_write.php"> 
    <h4>q1</h4> 
    <input type="radio" name="answer[1]" value="someValue1" />someValue1<br /> 
    <input type="radio" name="answer[1]" value="someValue2" />someValue2<br /> 
    <input type="radio" name="answer[1]" value="someValue3" />someValue3 
    <h4>q2</h4> 
    <input type="radio" name="answer[3]" value="someValue4" />someValue4<br /> 
    <input type="radio" name="answer[3]" value="someValue5" />someValue5<br /> 
    <input type="radio" name="answer[3]" value="someValue6" />someValue6 
    <h4>q3</h4> 
    <input type="radio" name="answer[2]" value="someValue9" />someValue9<br /> 
    <input type="radio" name="answer[2]" value="someValue7" />someValue7<br /> 
    <input type="radio" name="answer[2]" value="someValue8" />someValue8 
    <input type="submit" value="submit" name="submit"/> 
</form> 

我的文件form_to_write.php是:

$array = array_map("rtrim", $_POST['answer']); 
$str = implode("\r\n", $array); 
$date="date_not_work"; //date('m-d-y_H:i:s') 
$fp = fopen($date."_out.txt", "w+"); 
$write=fwrite($fp, $str); 
fclose($fp); 

if ($write) echo 'Write is done!'; 
else echo 'Error!'; 

我需要導致這樣的文件:

1|value of 1 
3|value of 3 
2|value of 2 

現在只寫值。

回答

3
$str = ''; 
foreach ($_POST['answer'] as $num => $answer) { 
    $str .= "$num|$answer\r\n"; //i see no point in doing rtrim here 
} 

代替

$array = array_map("rtrim", $_POST['answer']); 
$str = implode("\r\n", $array); 

與日期,這可能是因爲:符號。

使它成爲"y-m-d_H-i-s"格式。
注意y-m-d順序。這是更可靠的方式,因爲它使您的文件按日期排序

+0

非常感謝!你知道,爲什麼如果我想用日期輸出文件名(使用'$ date = date('m-d-y_H:i:s');') - 這是行不通的? – skywind

+1

請參閱更新。但是,你必須更具描述性。 ''不起作用「'不是一個好問題描述。 –