|
|
|
| Подскажите пожалуйста как сделать запись в файл такого рода:
$name\$mail\$data\$msg
есть 3 текстовых файла для записи ($name),($data),($coment) - как их совместить в один? | |
|
|
|
|
|
|
|
для: newcold
(01.04.2008 в 15:46)
| | хм... если правильно понял то последовательно:)))
file($name);
file($data);
file($coment);
а потом цикл с записью.
работы минут на 10(+20 на кофе;))
----
Regards, Max Vasin. | |
|
|
|
|
|
|
|
для: Max Vasin
(01.04.2008 в 15:54)
| | вобщем всё выглядит так:
<table cellspacing="5" cellpadding="0" border="0">
<tr>
<td>
<form method="post" action="anons1_print.php">
Название :</td>
<td><input type="Text" name="name" value=""></td>
</tr>
<tr>
<td>Дата :</td>
<td><input type="Text" name="data" value=""></td>
</tr>
<tr>
<td>Коментарий:</td>
<td></td>
</tr>
<tr><td colspan="2"><textarea name=coment cols=60 rows=15></textarea></td></tr>
<tr><td colspan="2" align="right"><input type="submit" name="submit" value="Сохранить"></form></td></tr>
</table>
потом перекидывает на anons1_print.php и там идет код:
(я не знаю как правильно в однокоде сделать 3-ю запись, поэтому сделал 3 подряд)
<?
Error_Reporting(E_ALL & ~E_NOTICE);
$file = fopen ("../name.txt","w");
$str = "$name";
if ( !$file )
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str);
}
fclose ($file);
$file = fopen ("../data.txt","w");
$str = "$data";
if ( !$file )
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str);
}
fclose ($file);
$file = fopen ("../coment.txt","w");
$str = "$coment";
if ( !$file )
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str);
}
fclose ($file);
?>
вот поэтому я и спрашиваю как сделать 3 записи в один файл, а не в 3? | |
|
|
|
|
|
|
|
для: newcold
(01.04.2008 в 16:18)
| |
$file = fopen ("name.txt","w");
$str = $name."/".$coment;
if (!$file)
{
echo("Ошибка открытия файла");
}
else
{
fputs ( $file, $str);
}
fclose ($file);
|
а так если?
и почему "w"?
либо это так и надо, либо не знаете о "a"
----
Regards, Max Vasin. | |
|
|
|
|
|
|
|
для: Max Vasin
(01.04.2008 в 16:35)
| | Так надо, просто при повторном заполнении формы, данные переваписываются поверх... | |
|
|
|
|
|
|
|
для: newcold
(01.04.2008 в 16:36)
| | упс), поправка небольшая
$str = $name."\\".$coment;
----
Regards, Max Vasin. | |
|
|
|
|
|
|
|
для: Max Vasin
(01.04.2008 в 16:43)
| | Спасибо, работает, а как теперь из файла вытащить и поместить в таблицу??? | |
|
|
|
|
|
|
|
для: newcold
(01.04.2008 в 16:56)
| | поместить в таблицу БД? или таблицу <table></table>?
для второго (подкорректите самостоятельно):
<?php
$f=file("name.txt");
$fff=explode("\\",$f[0]);
for ($i=0;$i<count($fff);$i++)
echo $fff[$i]."<br>";
?>
|
а для первого вместо
for ($i=0;$i<count($fff);$i++) echo $fff[$i]."<br>"; написать запрос:)
----
Regards, Max Vasin. | |
|
|
|
|
|
|
|
для: Max Vasin
(01.04.2008 в 17:15)
| | Бекслеш в качестве разделителя не применяют. | |
|
|
|
|
|
|
|
для: Atheist_?
(01.04.2008 в 17:33)
| | А как правильно? | |
|
|
|
|
|
|
|
для: newcold
(01.04.2008 в 17:36)
| | Любой другой символ. Бекслеш как раз обычно используют для эскейпирования спец. символов, т.е. в данном случае разделителя.
А что будет если значение одной из переменных содержит разделитель? Это ты не учел. | |
|
|
|
|
|
|
|
для: Atheist_?
(01.04.2008 в 19:17)
| | добавлю
+ работаешь с register_global=on - выключать, имхо, надобно
++ не зависимо в какую таки таблицу будешь записывать - проверяй что пишешь, бо можно же и код какой передать;)
+++ (доп. к ++) проверяй "на разделитель"
----
Regards, Max Vasin. | |
|
|
|
|
|
|
|
для: Max Vasin
(01.04.2008 в 19:44)
| | Не проверять! Эскейпировать! | |
|
|
|
|
|
|
|
для: Atheist_?
(01.04.2008 в 19:49)
| | Не понял...
Нужно из файла вытащить в обычную <table></table> как это сделать? | |
|
|
|