Вопрос № 62519: Мое почтение, ув. Эксперты.
Появилась такая проблемка:
Предположим у меня есть форма типа . Там пишется текст с двойными и одинарными ковычками.
Нажимается кнопка выполняется некое действие и опять та же текст арея с переданным методом PO...Вопрос № 62561: Здравствуйте,
Пожалуйста подскажите про время жизни переменных.
Такая ситуация, при первом запуске скрипта считывается текстовый файл и обрабатывается (прайс лист). Далее выводится на экран первые 20 строчек прайса и ссылки на следующий 20 ст...Вопрос № 62616: Вот разбираю код. Вроде бы все понятно. Но Переменная $items. Зачем она нужна и за что она отвечает? И почему foreach($items...) ? Вроде должно брать из массива $names. А также зачем пременная $text? Сначала пустая, потом код и возврат return.
Об...Вопрос № 62643: Есть ли какое правило размещения скриптов на сервере... Или можно все скрипты скидать в коренной каталог и будут работать... Дело в том что локально на компе у меня все скрипты работают, а поместив их на сервер не хочет работать гостевуха и форум... ...
Вопрос № 62.519
Мое почтение, ув. Эксперты.
Появилась такая проблемка:
Предположим у меня есть форма типа . Там пишется текст с двойными и одинарными ковычками.
Нажимается кнопка выполняется некое действие и опять та же текст арея с переданным методом POST текстом(с ковычками). Но при передаче ПОСТом ко всем ковычкам добавляется слеш . При повторе в нексолько раз вышеозначенного алгоритма таких ковычек выстраивается штук 5. Соответственно вопрос, как заставить при передаче по ПОСТу не добавлять этот чертов слеш.
Заранее благодарен
Отвечает: Eugene L
Здравствуйте, Гусаров Андрей Андреевич!
Отключите в файле php.ini опцию magic_quotes_gpc
Приложение:
Ответ отправил: Eugene L (статус: 1-ый класс)
Ответ отправлен: 14.11.2006, 00:18 Оценка за ответ: 4
Отвечает: Райкин Сергей Александрович
Здравствуйте, Гусаров Андрей Андреевич!
Их можно отключить в настройках php, или при выводе переменной прописать
< name="var"><?php echo stripslashes($var);?></>
--------- программист должен работать в свое удовольствие
Ответ отправил: Райкин Сергей Александрович (статус: 1-ый класс)
Ответ отправлен: 14.11.2006, 00:22 Оценка за ответ: 5
Отвечает: Барков Илья Андреевич
Здравствуйте, Гусаров Андрей Андреевич!
Это используется для обработки переменных перед тем, как записать их в базу данных.
Проблему можно устронить, использовав функцию stripslashes();
Ответ отправил: Барков Илья Андреевич (статус: 4-ый класс)
Ответ отправлен: 14.11.2006, 10:30 Оценка за ответ: 5
Вопрос № 62.561
Здравствуйте,
Пожалуйста подскажите про время жизни переменных.
Такая ситуация, при первом запуске скрипта считывается текстовый файл и обрабатывается (прайс лист). Далее выводится на экран первые 20 строчек прайса и ссылки на следующий 20 строчек.
Вопрос - при переходе по ссылке "следующие 20" мне нужно поновому
считывать файл и обрабатывать его??
Отправлен: 14.11.2006, 10:39
Вопрос задал: Nikk (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: PVS
Здравствуйте, Nikk!
Есть вариант: запоминайте дату изменения исходного файла, генерируйте сразу ВСЕ страницы по 20 строчек и ложите в какой-нибудь кеш, а при обновлении или переходе на другую страницу анализируйте покзывать страницу из кеша или по-новой обрабатывать исходный файл.
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 14.11.2006, 10:48
Отвечает: Барков Илья Андреевич
Здравствуйте, Nikk!
Да, но лучше сделать это не так. лучше один раз скачать файл, а потом каждый раз его обрабатывать.
А вообще мои Вам рекомендации: читайте его один раз, запихивайте в базу данных и уже от туда работайте с ним. потому что с БД все будет гораздо быстрее, чем с файлами. (не дай бог ещё и Excel-евский, тогда вообще жуть).
Ну и судя по тому, что прайс Вы качаете, на исходном сайте он тоже обновляется иногда. Для того, чтобы обновление прайса у Вас происходило без вашего участия - напишите функцию обработки файла и занесения в БД, запишите её в пхп файл и настройте CRON на сервере (если доступен).
Если что-то непонятно, пишите в персональные соообщения :)
Ответ отправил: Барков Илья Андреевич (статус: 4-ый класс)
Ответ отправлен: 14.11.2006, 10:50 Оценка за ответ: 5
Отвечает: Райкин Сергей Александрович
Здравствуйте, Nikk!
Лучше снова обработать файл.
Но еще можно передать по ссылке (не рационально), или прописать в сессии, что тоже не практично. Так что выход - повторно обработать, откинув первые 20 строчек.
--------- программист должен работать в свое удовольствие
Вот разбираю код. Вроде бы все понятно. Но Переменная $items. Зачем она нужна и за что она отвечает? И почему foreach($items...) ? Вроде должно брать из массива $names. А также зачем пременная $text? Сначала пустая, потом код и возврат return.
Объясните пожалуйста действие кода.
Приложение:
Отправлен: 14.11.2006, 19:19
Вопрос задал: _Master_ (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Райкин Сергей Александрович
Здравствуйте, _Master_!
function selectItems($items, $selected=0) означает, что функции нужно 2 параметра, и второй из них не обязательный.
Мы их передаем ей selectItems($names, $_REQUEST['surname'])
в результате внутри функции переменная $items принимает значение $names, т.е. массив, а $selected - $_REQUEST['surname'], т.е. номер выбраного элемента.
2 В переменную $text записуется html код и функцией return возвращается из функции, в результате получаем html код [option value...]name[/option].
--------- программист должен работать в свое удовольствие
Отвечает: Барков Илья Андреевич
Здравствуйте, _Master_!
$items - в неё передается массив с значениями и описанием.
например: $items=array("1 row"=>"Text 1 row");
Тогда при исполнение foreach ($items as $k=>$v) переменная $k будет содержать "1 row", а $v="Text 1 row". Это пример на одну запись массив, если бы подобных записей было бы несколько, то foreach перебирал бы каждую почтучно. так и он называется "Для каждого"(foreach).
$names - Это какраз именно нужный массив, но он передается в функцию и внутри функции этотже массив называется $items.
В переменную $text записывается готовый HTML код, который потом выводится в форму. там есть строчка вида $text.= (внимание, точка + равно). это означает действие "конкатенация" (присоединение к концу переменной нового значения). подробнее можно в учебниках почитать про простейшие действия.
Надеюсь, доходчиво объяснил.
Гляньте приложение ещё.
Приложение:
Ответ отправил: Барков Илья Андреевич (статус: 4-ый класс)
Ответ отправлен: 15.11.2006, 12:21
Вопрос № 62.643
Есть ли какое правило размещения скриптов на сервере... Или можно все скрипты скидать в коренной каталог и будут работать... Дело в том что локально на компе у меня все скрипты работают, а поместив их на сервер не хочет работать гостевуха и форум... Отображатся всё отображается а вот счетчик не ведется, сообшения не отправляются, темы на форуме не создаются. Есть правело размещения скриптов на сервере???
Отправлен: 14.11.2006, 22:31
Вопрос задал: Unruly (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Mo-skin
Здравствуйте, Unruly!
Могут возникнуть такие проблемы:
1. Необходимо выставить права (cmod),
обычно это 755.
2. Смотрите конфигурацию PHP на сервере.
Создайте файл test.php , напишите в нем:
<?
phpinfo();
?>
закачайте
и запустите через браузер.
Вы получите полную информацию о конфигурации PHP.
Желательно чтобы у ВАс в локале все настройки совпадали.
3. Обратите внимание на register_globals.
Если она на сервере выключена(=off) значит переменные, переданные в запросе
(например http://mysite.ru/index.php?login=admin&pass=12345)
надо принимать так:
$login=$_GET['login'];
$pass=$_GET['pass'];
--------- Чем больше женщину мы меньше, тем больше меньше мы ее!
Ответ отправил: Mo-skin (статус: 2-ой класс)
Ответ отправлен: 14.11.2006, 23:17
Отвечает: Барков Илья Андреевич
Здравствуйте, Unruly!
Для форумов, гостевых книг и прочьего надо запускать инсталяцию. У форумов, почти у всех, она точно идет в комплекте. А вообще перед тем как задавать вопросы, всегда читайте файл Readme.txt или install.txt, входяшие в скрипт. Там обычно все написано.
В общих чертах: необходимо соединение с базой данных, доступ, ну и наличие таблиц, которые используются скриптами. Естественно скрипты их создают сами. Просто надо найти файл, который этим занимается.
Удачи!
Ответ отправил: Барков Илья Андреевич (статус: 4-ый класс)
Ответ отправлен: 15.11.2006, 12:31
Перед тем, как устанавливать скрипты прочитайте файлы redme.txt, readme.html, install.txt, install.html (могут храниться в папках docs, documentation, help)
Для некоторых скриптов (форумов, чатов, CMS), надо запускать инсталляцию, в результате которой создадутся таблицы в базе данных. Скрипты с расширениями *.cgi и (или) *.pl должны находиться в каталоге cgi-bin