Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 568
от 14.01.2007, 04:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 393, Экспертов: 49
В номере:Вопросов: 3, Ответов: 6


Вопрос № 69990: Вопрос по поводу сессий. Когда заходишь на сайт (мой, не буду называть адрес), то все ссылки делаются вида "ссылка?PHPSESSID=lsafoisafdosadf0732r" ну типа того. Я это никак не настраивал! Просто на всех страницах у меня прописано sessio...
Вопрос № 69994: Здравствуйте! У меня чисто теоретический вопрос. Как реализовать на сайте поиск? Конечно меня интерисует алгоритм. Предположим есть сайт содержимое которого генерируется из базы данных. Например есть в базе данных отдельное поле типа ...
Вопрос № 69995: Здравствуйте. Мне бы очень хотелось создать на своем сайте пользователеей... Но, к сожалению, я не знаю: <i>ни как записать их имена и пароли в базу, данных, ни как потом проверять при входе - пароль верен? Такой логин существует?</i> П...

Вопрос № 69.990
Вопрос по поводу сессий.
Когда заходишь на сайт (мой, не буду называть адрес), то все ссылки делаются вида "ссылка?PHPSESSID=lsafoisafdosadf0732r" ну типа того. Я это никак не настраивал! Просто на всех страницах у меня прописано session_start(); так как используются сессионные переменные. Когда переходишь по любой ссылки этого вида, то потом в течении этой сессии ссылки обычного вида. Это ладно, не мешает, если пользователь заходит через закладки или адрес в строке, но почему ссылки в поисковиках ВСЕ вида "сылка.php?PHPSESSID=dsjfghfghdsaflg" и когда я смотрю "экспресс-аудит" в статистике, этот параметр мешает, да и тем более как это может повлиять на работу скрипта, если несколько пользователей будут пользоваться одинаковой сессией (ведь в каждом поисковике во всех ссылках одна и та же сессия).
И еще, на других сайтах на php такого нет. Неужели они не используют сессии? Или я что то не так делаю.
PS
извините, что много буков :) просто постарался подробно...
Отправлен: 08.01.2007, 13:54
Вопрос задал: Бобровский Сергей Сергеевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 7)

Отвечает: Денис Сергеевич
Здравствуйте, Бобровский Сергей Сергеевич!

PHP автоматически вставляет PHPSESSID в гиперссылки в том случае, если в настроках PHP параметр session.use_trans_sid становлен в значение true. Попробуйте отключить его в php.ini (если есть доступ к нему), либо непосредственно во всех скриптах, где такая функциональность не требуется - с помощью ini_set().

Удачи!
Ответ отправил: Денис Сергеевич (статус: 4-ый класс)
Ответ отправлен: 08.01.2007, 14:10
Оценка за ответ: 5
Комментарий оценки:
Спасибо!

Отвечает: Загиров Рустам
Здравствуйте, Бобровский Сергей Сергеевич!
Обычно этот параметр ставиться только в том случае, если отключены cookie в настройках браузера.
Если не хотите, чтобы он проставлялся пропишите в .htaccess:
php_flag session.use_trans_sid off
---------
Этот мир обречён на нас
©Сергей Маврин
Ответ отправил: Загиров Рустам (статус: Специалист)
Ответ отправлен: 08.01.2007, 14:24
Оценка за ответ: 5

Отвечает: Нода Сергей
Здравствуйте, Бобровский Сергей Сергеевич!
Такое поведение сесий бывает если у пользователя запрещены Cookie, в этом случае РНР сам добавляет к каждой ссылке SessionID (SID). Если такие ссылки появляются в поисковиках, то думаю (это мое личное мнение), что это просто робот записал так страничку с сессиями.
Ответ отправил: Нода Сергей (статус: 1-ый класс)
Ответ отправлен: 09.01.2007, 08:40
Оценка за ответ: 3
Комментарий оценки:
Нет, сессии работают по-умолчанию несколько иначе, я уже всё выяснил. Мне техподдержка хостинга ссылку дала. При первом заходе этот параметр по-умолчанию всегда появляется.


Вопрос № 69.994
Здравствуйте!
У меня чисто теоретический вопрос.
Как реализовать на сайте поиск? Конечно меня интерисует алгоритм.
Предположим есть сайт содержимое которого генерируется из базы данных.
Например есть в базе данных отдельное поле типа TEXT. И нужно проверить соответствует ли данный текст ключевому слову? Для полей типа VARCHAR все понятно - их можно сравнить с неким шаблоном '%слово%' но длинный текст не может там содержатся. Какие есть методы для поля TEXT (скорее всего это относится к вопросу по синтаксису SQL но я думаю вы с этим знакомы применитильно конкретно к базе MySQL)
Спасибо!
Отправлен: 08.01.2007, 14:22
Вопрос задал: Valeraorg (статус: 4-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Загиров Рустам
Здравствуйте, Valeraorg!
Для полей типа TEXT, равно как и для VarChar, можно применять LIKE:
SELECT * FROM table WHERE str LIKE '%poisk%'
---------
Этот мир обречён на нас
©Сергей Маврин
Ответ отправил: Загиров Рустам (статус: Специалист)
Ответ отправлен: 08.01.2007, 14:44
Оценка за ответ: 5
Комментарий оценки:
Спасибо!
Это наверное появилось в новой верасии MySQL


Вопрос № 69.995
Здравствуйте.

Мне бы очень хотелось создать на своем сайте пользователеей...
Но, к сожалению, я не знаю: ни как записать их имена и пароли в базу, данных, ни как потом проверять при входе - пароль верен? Такой логин существует? Потом, я не знаю, как сделать топ пользователей (по посещениям), к примеру...

И самое главное: я не представляю, как создать на сайте возможность обмениваться личными сообщениями!

Можно ли мне где-то прочитать об этом? Уж очень хочется такое сделать на сайте... Желательно прямые ссылки

Заранее спасибо!
Отправлен: 08.01.2007, 14:27
Вопрос задала: Angel7 (статус: Студент)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Бородин Александр Олегович
Здравствуйте, Angel7!
Для начала прочитай какую-нибудь книжечку по MySQL. Работа с базами из PHP невероятно проста.

Чтобы организовать пользователей на сайте, надо придумать, что пользователь будет на сайте делать. Кроме того, "пользователь сайта" - не существо, а набор информации о нем. Поэтому продумай, какую информацию будешь в таблице хранить.

Ну а чтобы сообщения приватные организовать... Уверяю, создав на сайте пользователей, ты легко создашь и систему личных сообщений, потому что поймешь принцип работы с "мускулом". Удачи!
---------
Ничто не сближает людей так, как совместное преступление. Или покупка телевизора.
Ответ отправил: Бородин Александр Олегович (статус: 2-ой класс)
Ответ отправлен: 08.01.2007, 16:12
Оценка за ответ: 4
Комментарий оценки:
Спасибо. Если можно - киньте ссылки в мини-форум на качественные статьи, подходящие к моему вопросу! Если есть. Удачи!

Отвечает: Денис Сергеевич
Здравствуйте, Angel7!

Присоединяюсь к Александру Олеговичу - Вам может любая книга по MySQL, чтобы изучить эту систему управления базами данных. А практически любой самоучитель PHP расскажет о том, какие функции существуют для работы с БД из скрипта.

Еще добавлю по поводу паролей. Хранить Вы их, видимо, будете в зашифрованном виде, поэтому рекомендую почитать о шифровании, например о алгоритме необратимого шифрования md5 и о соответствующей функции PHP:
http://ru2.php.net/manual/ru/function.md5.php - тут и примеры есть.

Что касается системы личных сообщений, то могу предложить такой вариант (опять же с использованием базы данных). Очевидно, что таблица, куда они будут записываться, должна содержать поля с такой информацией: id сообщения, id отправителя, id адресата, тема сообщения текст сообщения. Этого уже достаточно для обмена сообщениями, но для того, чтобы дифференцировать прочитанные сообщения от непрочитанных, можно добавить поле, отвечающее за статус сообщения. Предположим, значение 0 в нем будет у прочитанных сообщений, а 1 - у новых для пользователя, непрочитанных. Итак, поля могут быть примерно такими:

id - poster_id - recipient_id - subject - text - unreaded

Ну, это конечно, примерная структура таблицы, быть может, Вам еще что-то понадобится в нее записывать.

Возможно то, что я написал, не очень понятно, если Вы совсем не знакомы с MySQL, но после знакомства многое прояснится.
Ответ отправил: Денис Сергеевич (статус: 4-ый класс)
Ответ отправлен: 08.01.2007, 17:53
Оценка за ответ: 5
Комментарий оценки:
Спасибо. Если можно - киньте еще ссылки в мини-форум на качественные статьи, подходящие к моему вопросу! Если есть. Спасибо еще раз и удачи!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.38 от 20.12.2006
Яндекс Rambler's Top100

В избранное