Список форумов DOMEN.com.ua DOMEN.com.ua
информационно-технический форум провайдера DOMEN.com.ua
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

THIS SITE IS OUTDATED AND NOT SUPPORTED ANYMORE
PLS USE OUR WIKI INSTEAD

Где ошибка

 
Начать новую тему   Ответить на тему    Список форумов DOMEN.com.ua -> Вопросы программирования
Предыдущая тема :: Следующая тема  
Автор Сообщение
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");
}
?>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
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);

_________________
заблокирован за нарушение правил форума
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора AIM Address Yahoo Messenger MSN Messenger
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 $
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
yarych
Участник


Зарегистрирован: 17.02.2005
Сообщения: 45
Откуда: Львів

СообщениеДобавлено: Пн Май 16, 2005 17:57    Заголовок сообщения: Ответить с цитатой

fwrite($f,$Messages[$i].'\n");
вот и ошибка Wink (смешанные кавычки)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
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);
?>

Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Lev
Завсегдатай


Зарегистрирован: 20.07.2004
Сообщения: 165
Откуда: Москва

СообщениеДобавлено: Чт Ноя 03, 2005 12:16    Заголовок сообщения: Ответить с цитатой

В каком виде данные записаны в файле?
_________________
Лучший биллинг для провайдеров хостинга
Защитите свою интеллектуальную собственность
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bober
Завсегдатай


Зарегистрирован: 19.01.2004
Сообщения: 203
Откуда: Lvov

СообщениеДобавлено: Вт Ноя 08, 2005 10:30    Заголовок сообщения: Ответить с цитатой

Lev писал(а):
В каком виде данные записаны в файле?

В строковом
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Lev
Завсегдатай


Зарегистрирован: 20.07.2004
Сообщения: 165
Откуда: Москва

СообщениеДобавлено: Вт Ноя 08, 2005 12:50    Заголовок сообщения: Ответить с цитатой

Я понимаю, что не в бинарном.
Ответ "ошибка в коде" устроит?

PS Неужели сложно выложить несколько строк файла?
_________________
Лучший биллинг для провайдеров хостинга
Защитите свою интеллектуальную собственность
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
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???
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Lev
Завсегдатай


Зарегистрирован: 20.07.2004
Сообщения: 165
Откуда: Москва

СообщениеДобавлено: Ср Ноя 09, 2005 14:43    Заголовок сообщения: Ответить с цитатой

Держи земляк:
Код:
$str="$mess???$vdate???$ips???$names???$email???$url???\n";

Используй debugger или хотя бы что-то подобное
Код:
print_r($Message);
exit;
Тогда и своё/моё/наше время сэкономиш и таких постов не будет Wink
_________________
Лучший биллинг для провайдеров хостинга
Защитите свою интеллектуальную собственность
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DOMEN.com.ua -> Вопросы программирования Часовой пояс: GMT + 2
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Anti Bot Question MOD - МОД для phpBB против Спамботов