Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
bober Завсегдатай
Зарегистрирован: 19.01.2004 Сообщения: 203 Откуда: Lvov
|
Добавлено: Сб Май 07, 2005 11:32 Заголовок сообщения: Где ошибка |
|
|
Есть файл в котором есть записи при попітке редактировать одну запись в файл пишеться ARRAY запарился искать ошибку Код: | <?
$Messages=file('our.dat');
$s=explode("***", $Messages[$num] );
//echo"$s[0]**** $s[1]**** $s[2]**** $s[3]***** $s[4]*****$s[5] ";
echo"<form action=edit.php method=post>
<input type=text name=vdate value=$s[0]>
<input type=text name=username value=$s[1]>
<input type=text name=email value=$s[2]>
<input type=text name=nameclub value=$s[3]>
<input type=text name=url value=$s[4]>
<input type=hidden name=num value=$num>
<textarea name=txt>$s[5]</textarea><input type=submit name=edit value=GO EDIT>
</form>";
if(isset($edit))
{
$Messages=file('our.dat');
$str=$str="$vdate*** $username*** $email*** $nameclub*** $url*** $txt";
$Messages[$num]="$str";
$file_path = 'our.dat'; //PUT FILE SAVE TEXT
$f = @fopen($file_path, 'w');
fwrite($f, $Messages."\n");
}
?>
|
|
|
Вернуться к началу |
|
|
adebt Участник
Зарегистрирован: 10.01.2005 Сообщения: 19
|
Добавлено: Вт Май 10, 2005 12:42 Заголовок сообщения: |
|
|
Все тебе правильно в файл пишет... Ведь $Messages - это массив (ARRAY), поэтому скрипт тебе и пишет, что $Messages из себя представляет.
Цитата: | fwrite($f, $Messages."\n"); | вот здесь у тебя кроется ошибка...
попробуй сделать вот так:
Код: |
foreach ($Messages as $key=>$value){
fwrite($f,$value."\n");
}
|
или вот так: Код: |
for ($i=0;$i<count($Messages);$i++){
fwrite($f,$Messages[$i].'\n");
}
|
|
|
Вернуться к началу |
|
|
cryo Участник
Зарегистрирован: 02.12.2004 Сообщения: 32 Откуда: Odessa
|
Добавлено: Вт Май 10, 2005 17:22 Заголовок сообщения: |
|
|
или для сокращения количества дисковых операций сделать так:
Код: |
$MsgString = implode("\n", $Messages);
fwrite($f, $MsgString);
|
_________________ заблокирован за нарушение правил форума |
|
Вернуться к началу |
|
|
bober Завсегдатай
Зарегистрирован: 19.01.2004 Сообщения: 203 Откуда: Lvov
|
Добавлено: Ср Май 11, 2005 11:52 Заголовок сообщения: |
|
|
adebt писал(а): | Все тебе правильно в файл пишет... Ведь $Messages - это массив (ARRAY), поэтому скрипт тебе и пишет, что $Messages из себя представляет.
Цитата: | fwrite($f, $Messages."\n"); | вот здесь у тебя кроется ошибка...
попробуй сделать вот так:
Код: |
foreach ($Messages as $key=>$value){
fwrite($f,$value."\n");
}
|
или вот так: Код: |
for ($i=0;$i<count($Messages);$i++){
fwrite($f,$Messages[$i].'\n");
}
|
|
2 вариант
Цыкл правельны но с его добавлением у меня выскочилоо собщения об ошибке в несуществующей строке
Код: | Parse error: parse error, unexpected $ |
|
|
Вернуться к началу |
|
|
yarych Участник
Зарегистрирован: 17.02.2005 Сообщения: 45 Откуда: Львів
|
Добавлено: Пн Май 16, 2005 17:57 Заголовок сообщения: |
|
|
fwrite($f,$Messages[$i].'\n");
вот и ошибка (смешанные кавычки) |
|
Вернуться к началу |
|
|
bober Завсегдатай
Зарегистрирован: 19.01.2004 Сообщения: 203 Откуда: Lvov
|
Добавлено: Чт Ноя 03, 2005 11:25 Заголовок сообщения: |
|
|
$i=$id; Номер елемента масива.
Проблема в том что призаписи отредактированой строки удаляеться следующия строка удаляеться немогу сообразить почему
Код: |
<?
$Messages=file('vidguk.dat');
$Count=count($Messages);
echo "<table width=300>";
echo "<a href=./admin_vidguk.php> back</a> <form action=./edit.php>";
$i=$id;
$vs=explode("???", $Messages[$i]);
echo " <tr><td><a href=./edit.php?id=$i>EDIT $i</a> <b>
IPS<input type=text name=ips value=$vs[2]> Add message: $vs[1]
<input type=text name=email value=$vs[4]>
<input type=text name=names value=$vs[3]>
<input type=hidden name=vdate value=$vs[1] >
<input type=hidden name=id value=$i> <br>
<textarea name=mess>$vs[0]</textarea><input type=submit name=go value=EDIT> </td></tr> ";
if(isset($go))
{
$i=$id;
$str="$mess???$vdate???$ips???$names???$email???$url";
$Message=file('vidguk.dat');
$Message[$i]="$str";
$Message=implode("", $Message);
$file_path = 'vidguk.dat';
$f = @fopen($file_path, 'w');
flock($f, LOCK_EX);
$Message=trim($Message);
fwrite($f, $Message);
flock($f, LOCK_UN);
fclose($f);
}
?>
|
а етот код удаляет строку в файле вроде одно и но тоже но в коде віше удаляеться следуюющия строка
Код: |
<?
$i=$id;
$str="";
$Message=file('vidguk.dat');
$Message[$i]="$str";
$Message=implode("", $Message);
echo "<a href=./admin_vidguk.php> back</a> ";
$file_path = 'vidguk.dat';
$f = @fopen($file_path, 'w');
flock($f, LOCK_EX);
$Message=trim($Message);
fwrite($f, $Message."\n");
flock($f, LOCK_UN);
fclose($f);
?>
|
|
|
Вернуться к началу |
|
|
Lev Завсегдатай
Зарегистрирован: 20.07.2004 Сообщения: 165 Откуда: Москва
|
|
Вернуться к началу |
|
|
bober Завсегдатай
Зарегистрирован: 19.01.2004 Сообщения: 203 Откуда: Lvov
|
Добавлено: Вт Ноя 08, 2005 10:30 Заголовок сообщения: |
|
|
Lev писал(а): | В каком виде данные записаны в файле? |
В строковом |
|
Вернуться к началу |
|
|
Lev Завсегдатай
Зарегистрирован: 20.07.2004 Сообщения: 165 Откуда: Москва
|
|
Вернуться к началу |
|
|
bober Завсегдатай
Зарегистрирован: 19.01.2004 Сообщения: 203 Откуда: Lvov
|
Добавлено: Ср Ноя 09, 2005 10:55 Заголовок сообщения: |
|
|
Вот строка которая пишеться в файл
Код: | $str="$mess???$vdate???$ips???$names???$email???$url"; |
Код: | <img src=smiles/11.gif>???04.11.2005 00:24:33???194.44.191.67???gayane???gayane@gayane.comua??? |
|
|
Вернуться к началу |
|
|
Lev Завсегдатай
Зарегистрирован: 20.07.2004 Сообщения: 165 Откуда: Москва
|
|
Вернуться к началу |
|
|
|