Forum Webscript.Ru
Программирование => PHP => Тема начата: alex196 от 28 Ноября 2001, 17:00:38
-
как сделать чтоб что вписываеш в форму то вписывалось в фаил
-
Alex196
Открывай тему с нормальным названием, а не бессмысленный набор символов (???) !!!
берешь и записываешь переменные в файл
см. fopen, fputs, fclose
-
а пример можеш написать
-
берешь документацию, читаешь выше сказанные функции. Там даже и примеры есть.
-
так эту документации нигде нет
-
Эх,
file.html:
file.php
$file = fopen("file.ext", "w");
fputs($file, $var);
fclose($file);?>
-
Britva
Зачем создавать два файла если это все можно было сделать в одном ?
-
я привел в двух, т.к. в форуме просто быстрее написать, без дополнительных условий.
А лучше естесственно в одном (мне удобнее, например).
alex196
http://www.php.net - вот документация.
или http://www.php.net/download-docs.php
-
Приведи еще, если не трудно, пример в одном файле, просто интересно как это другие делают...
-
if(!isset($submit)) {
?>
} else {
$file = fopen("file.ext", "w");
fputs($file, $var);
fclose($file);
}
?>
или еще вариант, лучше когда проверка нужна
function form($var) {
?>
}
if(!isset($submit)) {
form("");
} else {
if(!$var) {
form($var);
} else {
print "ok";
//тут запись в файл
}
}
?>
-
To Britva
Вопрос по синтаксису.
if(!isset($submit)) {
?>
Зачем здесь восклицательный знак? Или по другому. Почему без него нельзя обойтись?
-
DLama
if(!isset($submit)) - перевожу - "если не установлена переменная $submit"
а если без него, то "если установлена переменная $submit"
Млин, если с ним не хочется, то пишешь
if(isset($submit)) {
$file = fopen("file.ext", "w");
fputs($file, $var);
fclose($file);
} else {
?>
}
?>
так лучше? :)
-
To Britva
Неее, первый код красивше выглядит.
Получается что запись с восклицательным знаком
if(!isset($submit))
эквивалентна if(empty($submit)) так что ли?
Или я опять чёньто не понял :) ?
-
почти эквивалентна :)
empty($var) проверка переменной на пустоту, т.е. она перед этим могла быть установлена в $var = "" и т.п.
а isset проверяет инициализирована ли такая переменная перед этим.
читай мануал.
-
empty($var)
Если $var==0 то empty($var) возвращает true. Если бы не эта фича, цены бы empty() не было :(
-
Спасибо мужики, просветили :)
-
Как бы сделать так что бы новая запись в файл например с наименованием file.txt делалась с новой строки?
Типа так:
dfr@trtr.ru
dfgh@rambler.ru
fax@yandex.ru
-
добавь \\n в конец строки, например $text.="\\n";
-
Уточни пожалуйста Лео, в конец какой строки добавить
Вот конкретно здесь:
$file = fopen("file.txt", "w");
fputs($file, $var);
fclose($file);
?>
и конкретно здесь:
function form($var) {
?>
}
if(!isset($submit)) {
form("");
} else {
if(!$var) {
form($var);
} else {
print "ok";
//тут запись в файл
}
}
?>
Для меня честно говоря совсем непонятно куда можно подоткнуть перевод строки. Разъясните пожалуйста.
-
$file = fopen("file.txt", "w");
fputs($file, $var);
fclose($file);
?>
В данном случае ты открываешь файл в режиме w, т.е. при открытии содержимое файла очищается. Если тебе хочется что то добавлять в конец файла, то надо открывать в a+:
$file=fopen("file.txt","a+");
$var.="\\n";
fputs($file,$var);
fclose($file);
----------------------
Во втором примере то же самое, перед записью в файл к концу $var добавляешь \\n:
....
} else {
if(!$var) {
form($var);
} else {
print "ok";
//тут запись в файл
$file = fopen("file.txt", "a+");
$var.="\\n"; // <<<< вот сюда вставляешь.
fputs($file, $var);
fclose($file);
-
Ещё классно использовать конкатизацию:
$file = fopen("file.txt", "a+");
$var.=$var."\\n"; // <<<< Конкатизация (склеивание)
fputs($file, $var);
-
$var.=$var."\\n";
наверное ты имел ввиду $var=$var."\\n"; ? Тогда это тоже самое что предложил я.
-
Ой, сорьки, проглючил, точку не заметил, когда вырезал...
Стоп, просветите, так что, получается эти вещи равнозначны?
#1
$var.="\\n";
#2
$var=$var."\\n";
???
Получается ".=" здесь работает как префикс? (типа "+=") ???
-
Получается ".=" здесь работает как префикс? (типа "+=") ???
Да.
-
Классно, всё как на Сишнике :-)
Будем знать, спасибо.
-
2 Макс:
Как это true возвращает?!!!
Не може цього бути!
empty вернет false, если переменная пустая, не инициалицирована или ноль.
В вашем случае она ноль, значит вернуть должно faclse :)
-
Foshvad
наоборот :)
http://w8.nsk.su/Docs/php/function.empty.html
-
Что то мужики криво как то скрипт работает.
Запись в файл ведётся, только не в такой форме, т.е. последовательно идут адреса в столбик
dfr@trtr.ru
dfgh@rambler.ru
fax@yandex.ru
А записываются вот так в строчку
dfr@trtr.ru[]dfgh@rambler.ru[]fax@yandex.ru[]
т.е. через какой то "квадратик" который я обозначил как []
Ещё такие квадратики я заметил, когда открываю некоторые ява скрипты в блокноте для просмотра. Там такие же квадратики. Ну может конечно не такие а похожие, я не спец конечно, но очень они похожие.
Что за ерунда такая не пойму никак. Можно ли скрипт заставить запись вести нормально?
-
2 Antoxa: Действительно, наоборот :)
2 Dlama: попробуй \\r пописать, это если для винды. Кстати, ты чем файл смотришь? Notepad некторые спец символы не понимает
-
Смотрю я Нотепадом и отлаживаю скрипты локально под виндой, а на хостинге они под ФрииБСД, поэтому не знаю как корректно.
-
Смотрю я Нотепадом
А ты не смотри в блокноте, используй для этого какой-нибудь файловый менеджер far, frigate, etc
-
Заменил \\n на \\r и ничего не изменилось в формате записи в файл.
То Lion
Мне вообщето чем смотреть самому не важно, мне главное чтобы рассылочные проги, которые нормально работают с файлами .txt распознавали посредством знака перевода строки, то что идёт следующий адрес. Короче говоря меня интересует можно ли будет использовать скриптом записанный файл для автомтической обработки рассылочной прогой, например AMS ( http://www.nexus6.ru/AMS376.zip )
И ещё, Лион, подскажи если можеш по регулярным выражениям.
Хочу с их помощью проверить данные вводимые в форму на предмет обязательного наличия хотя бы одной точки и обязательно только одного знака "@"
Не знаю, может велосипед изобретаю я, может какой скрипт есть РНР фришный под такую задачку как подписка и отписка?
-
Попробуй \\0 (ноль)
-
Это даёт вместо перевода строки просто пробел, вот:
dfr@trtr.ru dfgh@rambler.ru fax@yandex.ru