我有一些數據發佈到一個PHP文件,我需要保存/追加由逗號分隔的數據到文本文件。這一切都很好,並且應該是直截了當的,除了當我檢查文件時,我發現每個逗號都被寫了兩次:一次在需要的地方,然後在附加數據之後,但是作爲一組逗號。 下面是我得到了什麼:PHP寫入tars文件,結果重複逗號/標點符號
<form action="signup-submit.php" method="post">
<fieldset>
<legend>New User Signup:</legend>
<label>Name:</label>
<input type="text" name="name" size="16" autofocus required/> <br/>
<label>Gender:</label>
<label><input type="radio" name="gender" value="m" /> Male</label>
<label><input type="radio" name="gender" value="f" checked /> Female</label> <br />
<label>Age: <input type="text" name="age" size="6" maxlength="2" required></label><br/>
<label>Personality Type: <input type="text" name="pType" maxlength="4" size="6" required/></label><br/>
<label>
Favorite OS:
<select name="os">
<option value="windows">Windows</option>
<option value="mac">Mac OS X</option>
<option value="linux">Linux</option>
</select>
</label><br/>
<label>
Seeking age:
<input name="min" type="text" size="6" maxlength="2" placeholder="min" required/>
to
<input name="max" type="text" size="6" maxlength="2" placeholder="max" required/>
</label><br/>
<input type="submit" value="Sign up"/>
</fieldset>
</form>
^代碼的帖子「用戶數據」上申請,submit.php它是由同一個變種的名稱保存到變量。
$name = $_POST["name"];
$age = $_POST["age"];
$gender = $_POST["gender"];
$pType = $_POST["pType"];
$os = $_POST["os"];
$min = $_POST["min"];
$max = $_POST["max"];
$c = chr(44);
$s = "$name$c$age$c$gender$c$pType$c$os$c$min$c$max";
file_put_contents("single.txt", $s, FILE_APPEND);
?>
和文本文件將始終不渝地複製逗號作爲這樣的:
拜倫,21,男,INTP,窗,18,23 ,,,,,,
變量只是從前一頁發佈到此文件的數據。我也試過在陽光下每一種方式來保存數據。事實上,如果我直接寫文本,我沒有問題。當我使用csv功能時,我只有逗號,沒有數據,儘管左右,我相信格式正確。
你可以發佈生成此代碼嗎? – Machavity 2014-10-27 20:22:34
你有循環中的代碼行嗎?如果你這樣做,請發佈你沒有顯示的額外代碼 – mario 2014-10-27 20:22:47
這將有助於看到什麼是實際發佈數據和如何。 – Hozikimaru 2014-10-27 20:22:59