После нажатия на книпку вылезает ошибка: Error: the XML response that was returned from the server cannot be processed. В чем дело? Подскажите кто знает...
Как буд-то самый умный. Ни одного совета по делу, одна философия. Я, конечно, понимаю что я лузер и ничего не знаю, собственно, поэтому и обратился на форум, но зачем придираться к словам?
После нажатия на книпку вылезает ошибка: Error: the XML response that was returned from the server cannot be processed. В чем дело? Подскажите кто знает...
Дебагом... выведи что получил в Responce, что за документ скрипт вытягивает и.т.д., может где в Ajax либе что-то не так... так просто сказать почти не возможно.. Я с таким не сталкивался, ибо ни с XML ни с Ajax не работал
Member
Статус: Не в сети Регистрация: 18.11.2002 Откуда: не вернуться
Смотрю тема заглохла, давайте хоть обсудим что нибудь...
Например покритикуйте код гостевушки...
ссылка - для тех кто на нормальных браузерах (XHTML)
ссылка - для тех кто на устаревших браузерах (HTML)
Только делаем сноску на то что это демонстрационная модель (была написана как иллюстрация к статье, однако статья так и не была написана), тут важны не аспекты крутости и функциональности (их тут нету), а скорее правильность реализации выбраных подходов, и правильность выбора этих подходов...
_________________ Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...
Member
Статус: Не в сети Регистрация: 19.01.2005 Откуда: Москва ЦАО
Меня тут попросили сделать статус загрузки файла как на рапидшаре(при загрузке файла на нее).
Там значит ajax каждые пять секунд отправляет запрос cgi-скрипту и узнает сколько уже загружено.
Можно ли подобное реализовать на php?
Member
Статус: Не в сети Регистрация: 18.11.2002 Откуда: не вернуться
DZhon писал(а):
or die('сбой открытия');
Зачем как проще если надо как правильнее ? (это самый худший вариант и привыкать к такому недопустимо)
DZhon писал(а):
блин... этого ваще не пойму =))) может проще в массив прочитать с file()
file() не подойдёт, скорее file_get_contents() однако в этом нет смысла зачем два раза открывать файл (сначала для чтения потом для записи если можно один раз)
DZhon писал(а):
в данном случае лучше || вместо &&... ИМХО.
А ИМХО не интересует, давай факты Косвенный смысл той статьи которая так и не была написана был прост. Хоть шуруп вбитый молотком и держится лучше чем гвоздь вкрученый отвёрткой, но можно просто просто не изобретать велосипед с квадратными колёсами а использовать вещи(функции/переменные/итд) по их прямому назначению
DZhon писал(а):
а где фильтрация пробелов, HTML и прочмх потенциально опасных символов ?
Фильтрация перед выводом в браузер есть, а перед заносом в базу фильтровать что либо это изврат,
всё равно что с египетских пирамид скалывать иероглифы,
данные должны храниться в том виде в котором пришли.
_________________ Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...
*Cofradia Intel*
Статус: Не в сети Регистрация: 06.12.2005 Откуда: Ростов-на-Дону
Цитата:
данные должны храниться в том виде в котором пришли.
- не согласен... сильно не согласен... это все равно что хранить мусор на столе, а потом перед едой его убирать
Цитата:
А ИМХО не интересует, давай факты
- ну не ИМХО, а точно, ибо могут прислать же заполненный нейм, но пустой текст как отвертимся :?
Цитата:
file() не подойдёт, скорее file_get_contents() однако в этом нет смысла зачем два раза открывать файл (сначала для чтения потом для записи если можно один раз)
- если так, то я ваще не понял кутерьмы с преобразованием в массив и обратно...
Цитата:
Зачем как проще если надо как правильнее ? (это самый худший вариант и привыкать к такому недопустимо)
- P.S. можно подробнее, просто хочу разобраться немного...
Member
Статус: Не в сети Регистрация: 18.11.2002 Откуда: не вернуться
DZhon писал(а):
не согласен... сильно не согласен
Хорошо, конвертанул ты данные в HTML вырезал всю лишнюю на твой взгля информацию, а потом БАЦ и надо добавить модули RSS, отсылки постов на почту, итд. откуда вырезанную информацию восстановиш ? (на эту тему много уже сказано, я привёл только простые примеры, на самом деле всё сложнее, но в рамках одного сообщения это не передать)
DZhon писал(а):
могут прислать же заполненный нейм, но пустой текст как отвертимся :?
Не будем постить, логику скрипта сечёш ? (вижу что нет)
DZhon писал(а):
если так, то я ваще не понял кутерьмы с преобразованием в массив и обратно
База данных это трёх-мерный массив (тип "array"), чтоб его сохранить в файле нужно привести в текст (тип "string") для этого и используется сериализация.
А file() предназначен совсем для другого.
_________________ Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...
*Cofradia Intel*
Статус: Не в сети Регистрация: 06.12.2005 Откуда: Ростов-на-Дону
Цитата:
Не будем постить, логику скрипта сечёш ? (вижу что нет)
вижу, не сечешь ты.. ведь && означает, что чтобы твой if выполнился надо И то И другое... а II означает, что хотя бы одно из них !!!
Цитата:
Хорошо, конвертанул ты данные в HTML вырезал всю лишнюю на твой взгля информацию, а потом БАЦ и надо добавить модули RSS, отсылки постов на почту, итд. откуда вырезанную информацию восстановиш ? (на эту тему много уже сказано, я привёл только простые примеры, на самом деле всё сложнее, но в рамках одного сообщения это не передать)
- ну да, понатыкают тебе кулхацкеры алертов на ява скрипте, пробелов типа " 5Xпробелов...Привет" ... собираешься хлам собирать ??? это самое безобидное что они могут сделать...
Member
Статус: Не в сети Регистрация: 18.11.2002 Откуда: не вернуться
DZhon писал(а):
все равно что хранить мусор на столе
Это не мусор а искходник до компиляции, почувствуй разницу...
DZhon писал(а):
понатыкают тебе кулхацкеры алертов на ява скрипте
Читай внимательнее
virus писал(а):
Фильтрация перед выводом в браузер есть
И именно там она и должна быть !!! (а ты предлогаешь её сделать раньше, а это недопустимо)
DZhon писал(а):
ведь && означает, что чтобы твой if выполнился надо И то И другое
Именно это там и нужно
(а тот глюк что ты отловил на той гостевушке именно потому что там не так, я как глянул код, самому страшно стало, как я мог такое написать, ужас)
_________________ Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...
Member
Статус: Не в сети Регистрация: 28.03.2005 Откуда: Латвия, Рига
DZhon писал(а):
Код:
$fp = fopen(DB_FILE, "r+");
а если после этого просто написать
Код:
or die('сбой открытия');
? ))
Код:
// Читаем базу данных. $content = fread($fp, filesize(DB_FILE));
// Преобразуем прочитанный текст в массив. (т.е в базу данных.) $array = unserialize($content);
блин... этого ваще не пойму =))) может проще в массив прочитать с file() ? =)
Код:
if ( isset($_POST['name']) && isset($_POST['text']) ) {
в данном случае лучше || вместо &&... ИМХО...
Код:
if ( !empty($_POST['name']) && !empty($_POST['text']) ) {
- аналогично
З.Ы. а где фильтрация пробелов, HTML и прочмх потенциально опасных символов ???
Если мы уверенны что фаил есть и что там есть как минимум пустой массив (а фаил должен инициализироваться при установке скрипта именно так), то хватает просто
Код:
$array = unserialize(file_get_contents(DB_FILE));
и это будет правильно, потому что держать открытым фаил надо минимум времени, что бы другие копии скрипта могли его спокойно читать и писать!
С && всё правильно, не нужно пихать запись с пустым заголовком или текстом в базу, выдаём ошибку о том, что нужно заполнить оба. Тоже правильно.
file() читает фаил в масив, где 1 строка = 1 элемент масива. В данном случае мы храним одну единственную сериализованную строку в фаиле... Но такой способ подойдёт только для гостевой небольшого размера... Если там перевалит хотя бы за 200 записей, скрипт начнёт съедать кучу памяти, да и обработка станет медленной. Добавлено спустя 30 секунд Позже гляну код и отпишусь
Member
Статус: Не в сети Регистрация: 18.11.2002 Откуда: не вернуться
_Psih писал(а):
Код:
$array = unserialize(file_get_contents(DB_FILE));
и это будет правильно, потому что держать открытым фаил надо минимум времени, что бы другие копии скрипта могли его спокойно читать и писать!
Глянь код, в том случае файл открыт именно минимум времени, фунцция file_get_contents не на столько быстрее чтоб оправдать своё использование в этом конкретном случае
_________________ Летели гуси-лебеди, а им навстречу - воробьи-пингвины и соловьи-страусы...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения