Вот учусь создавать гостевую книгу. Написал простенький скрипт записи данных в файл. Все работает, но есть следующая проблемка:
В книге три поля для ввода (имя, профессия и собщение) и все данные из этих полей записываются так:
имя~профессия~сообщение~имя2~профессия2~сообщение2 и т.д. встрочку.
А мне нужно, чтобы они записывались так:
имя~профессия~сообщение
имя2~профессия2~сообщение2
Может кто-нибудь подскажет как усовершенствовать скрипт, чтобы он записывал данные как нужно?
PHP |
<?php
if($_POST['sent']=="1") {
if(!$_POST['name']){echo "Введите имя";} if(!$_POST['prof']){echo "Введите профессию";} if(!$_POST['message']){echo "Введите сообщение";} if($_POST['name'] and $_POST['prof'] and $_POST['message']) { $_POST['name']=trim($_POST['name']); $_POST['name']=strip_tags($_POST['name']); $comment=fopen('gast.txt', a); $output.=$_POST['name']."~".$_POST['prof']."~".$_POST['message'].; fputs($comment, $output); fclose($comment); echo "Записано!";
unset($_POST['name']); unset($_POST['prof']); unset($_POST['message']); ?> <form action="<?php echo $_Server['PHP_SELF']; ?>"> <input type="hidden" name="sent" value=""> <input type="submit" value="Отправить еще"> </form>
<?php }
}
if(!$_POST['sent']) { ?>
<html> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <input type="hidden" name="sent" value="1"> Имя:<br><input type="text" name="name" value="<?php echo $_POST['name']; ?>"> <br>Профессия:<br><input type="text" name="prof" value="<?php echo $_POST['prof']; ?>"> <br>Сообщение:<br><textarea name="message" rows="10" cols="30" value="<?php echo $_POST['message']; ?>"></textarea> <input type="submit" value="Отправить"> </form> <?php } |
Спустя 18 минут, 34 секунды (8.10.2009 - 21:05) SunSet написал(а):
\n - по-моему вам в помощь
Спустя 2 минуты, 46 секунд (8.10.2009 - 21:08) ak167 написал(а):
SunSet, а можно по-подробнее?
Спустя 2 минуты, 30 секунд (8.10.2009 - 21:11) kalenval написал(а):
А не проще на БД написать? Зачем тебе на файлах?
Спустя 1 минута, 23 секунды (8.10.2009 - 21:12) gmaneye написал(а):
Немного поподробнее
PHP |
... $output .= $_POST['name'] . "~" . $_POST['prof'] . "~" . $_POST['message'] . "\n"; ... |
Спустя 2 минуты, 18 секунд (8.10.2009 - 21:14) SunSet написал(а):
или...
fputs($comment, $output\n);
Спустя 13 минут, 56 секунд (8.10.2009 - 21:28) ak167 написал(а):
gmaneye, SunSet, в обоих описанных вами способах скрипт выдает ошибку.
Спустя 1 минута, 4 секунды (8.10.2009 - 21:29) gmaneye написал(а):
Спустя 5 минут, 25 секунд (8.10.2009 - 21:35) sergeiss написал(а):
Цитата (kalenval @ 8.10.2009 - 22:11) |
А не проще на БД написать? Зачем тебе на файлах? |
Вот самый правильный ответ
И мало того, что с БД проще, так еще и надежнее.
Спустя 9 минут, 4 секунды (8.10.2009 - 21:44) SunSet написал(а):
sergeiss
Вдруг у автора бесплатный хостинг. Не дадут базу ему)
Спустя 3 минуты, 8 секунд (8.10.2009 - 21:47) sergeiss написал(а):
Тогда пусть ищет другой. Да и платные сейчас можно за копейки найти.
Спустя 2 минуты, 40 секунд (8.10.2009 - 21:49) SunSet написал(а):
sergeissТак чтож получается))) Не помогать автору только потому что он юзает (возможно / мог бы ) бесплатный хостинг?
Спустя 1 минута, 58 секунд (8.10.2009 - 21:51) sergeiss написал(а):
SunSet - ну почему же
. Просто по сути дела уже высказались, а я только дополняю.
Спустя 1 день, 23 часа, 4 минуты, 43 секунды (10.10.2009 - 20:56) ak167 написал(а):
Цитата |
А не проще на БД написать? Зачем тебе на файлах? |
kalenval, я же писал, что я УЧУСЬ создавать гостевую книгу! А значит надо написать ее не только под БД но и на файлах.
Впрочем, тема уже не актуальна. Я сумел разобраться сам!