New line in PHP output in a text file
forms, output, php, text-files
Solution
As other answers state, you need to add in an end of line character after each field.
Different OS's use different line endings, though, and so a "\n" may not display as a new line on Windows, for example. As Mahdi said, you can use Windows style "\r\n" line endings, or you can use the PHP_EOL constant so that line endings appropriate to the server will be output, in which case your code would look like
$data = $_POST['name'] . PHP_EOL;
$data .= $_POST['email'] . PHP_EOL;
$data .= $_POST['message'] . PHP_EOL;
Problem
My php form which saves the output in a text file glues the result to one string like: Name1Email1The Message1Name2Email2The Message2Name3Email3The Message3Name4Email4The Message4 But I need spaces and/or newlines. I normaly don't use PHP so I don't get it. I did't find an answer on the web, also read some Q/A here, but this didn't help me. The Form: ``` <form action="mailer.php?savedata=1" method="post"> Your Name: <input type="text" name="name"><br> Your Email: <input type="text" name="email"><br> Your Message:<br> <textarea name="message" rows="5" cols="30"></textarea><br> <input type="submit" name="submit" value="Submit"> </form> ``` The PHP ``` <?php $savedata = $_REQUEST['savedata']; if ($savedata == 1){ $data = $_POST['name']; $data .= $_POST['email']; $data .= $_POST['message']; $file = "YOURDATAFILE.txt"; $fp = fopen($file, "a") or die("Couldn't open $file for writing!"); fwrite($fp, $data) or die("Couldn't write values to file!"); fclose($fp); echo "Your Form has been Submitted!"; } ?> ```