Вопрос № 127707: Добрый день!
Помогите пожалуйста разобраться в вопросе?
На сайте все страницы генерируются системой управления. Это значит что дата создания страницы все время новая.
Вопрос: влияет ли это на индексацию, позицию сайта и т.д.?
Если вли...Вопрос № 127710: Приветиствую всех, проблема в следующем:
Есть 2 файла к page1.php, page2.php
При нажатии на кнопку, мне приходит 3 письма на емеил, как сделать так чтобы мне приходило все в 1 письме, искал ответы по интернету, так ничего и ненашол... ес...Вопрос № 127737: Доброго времени суток. Вновь необходима ваша помощь, уважаемые эксперты. Помогите, пожалуйста, решить последнюю проблему на пути к завершению моего скрипта "креатива". В бд есть таблица "creative", состоящая из двух полей - id и t...Вопрос
№ 127810: Здравствуйте, эксперты!
Хочу создать на сайте опрос, но хочу, чтобы при ответе на вопросы учитывались ответы на вопросы заданные ранее.
Например: "Вы били в нашей бане?" Да/Нет
Если "Да", то выходит следующий вопрос: &...
Вопрос № 127.707
Добрый день!
Помогите пожалуйста разобраться в вопросе?
На сайте все страницы генерируются системой управления. Это значит что дата создания страницы все время новая.
Вопрос: влияет ли это на индексацию, позицию сайта и т.д.?
Если влияет, то подскажите пожалуйста способ, как можно указать дату создания страницы.
Примечание: автоматически, из БД, генерируются следующие данные - все что указано в тегах head, title..., меню сайта. А содержание страницы вставляется из файла.
Отправлен: 17.03.2008, 12:20
Вопрос задал: Armaniden (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Стас Тельнов/[анти]КИЛЛЕР
Здравствуйте, Armaniden!
Если я правильно понял ваш вопрос, то вот что я могу сказать:
Не волнуйтесь. В принципе это у вас получатся разные страницы. Ведь информация о том, какая именно страница загружается, передаётся в GET запросе и каждая такая страница является отдельной.
Т.е. например:
http://ваш_сайт/viev.php?cat=1 и http://ваш_сайт/viev.php?cat=2 совершенно разные страницы и индексируются они отдельно.
И каждая более менее нормальная система управления передаётся данные о загружаемой странице именно GET запросом, а не POST.
--------- Не стыдно не знать, стыдно не учиться
Приветиствую всех, проблема в следующем:
Есть 2 файла к page1.php, page2.php
При нажатии на кнопку, мне приходит 3 письма на емеил, как сделать так чтобы мне приходило все в 1 письме, искал ответы по интернету, так ничего и ненашол... если можно то с коментариями разъесните, я начинающий в PHP!
Заранее БЛАГОДАРЕН!!!
Отвечает: Serge R. Bochkareff
Здравствуйте, Сурыев Назар !
Надо переставить последнюю закрывающую фигурную скобку в конец файла. См. пример.
Приложение:
Ответ отправил: Serge R. Bochkareff (статус: 3-ий класс)
Ответ отправлен: 17.03.2008, 13:14
Отвечает: Иван Сергеевич
Здравствуйте, Сурыев Назар !
1. В скрипте page2.php я нашел всего два вызова функции mail(). Так что к Вам должно было приходить по два письма, а не три...
2. Чтобы посылать только одно письмо, логично во время исполнения скрипта собирать тело письма в переменную (например, использовать Вашу переменную $mess). Далее вызываете функцию mess(), е-майл у Вас есть, тему сообщения придумаете, а в качестве тела сообщения вставьте переменную $mess.
3. Искать по интернету подобные вопросы бессмысленно, сначала надо было вникнуть в используемый скрипт и разобраться в его логике ;)
Ответ отправил: Иван Сергеевич (статус: 4-ый класс)
Ответ отправлен: 17.03.2008, 13:29
Вопрос № 127.737
Доброго времени суток. Вновь необходима ваша помощь, уважаемые эксперты. Помогите, пожалуйста, решить последнюю проблему на пути к завершению моего скрипта "креатива". В бд есть таблица "creative", состоящая из двух полей - id и texts. Последнее хранит в себе текст, к примеру, размером в 3450 символов. Мне нужно вывести текст на страницу таким образом, чтобы он разбился на n-ное количество страниц, скажем, по 1000 символов на каждой. То есть, в случае примера, должно получится 4 страницы.
Отправлен: 17.03.2008, 14:49
Вопрос задал: Андрей Л (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Чаднов Н
Уважаемый, Андрей Л!
Предлагаю такой алгоритм:
1. стартуем сессию
2. Проверяем что переданно скрипту. Номер страницы(идем на 3) или ИД в базе.(идем на 4)
3. Загружаем данные из сессии. выдаем часть которую указали в Номере страницы.
4. Загружаем текст из базы по ид.
5. Делим текст на страницы (В приложении пример)
6. Заносим каждую часть в сессию.
7. Выводим первую часть.
Приложение:
Ответ отправил: Чаднов Н (статус: 2-ой класс)
Ответ отправлен: 17.03.2008, 15:21
Отвечает: Иван Сергеевич
Здравствуйте, Андрей Л!
Получить первые N символов из полученного текста очень просто (см. Приложение).
Однако тут встает вопрос об избыточности: даже при размере в 1000 символов мы получим 3450/1000 = 3,5 коэффициент избыточности. А если вдруг надо будет выводить по 100 символов? Каждый раз считывать весь текст и получать из него всего 1/35...
Есть более простой вариант - выбирать из базы данных не весь текст, а только вычисленный участок:
Обратите внимание, что в mysql нумерация строк начинается с 1! При указании стартового смещения=0 запрос ничего не вернет.
Единственный недостаток - необходимо учитывать, что в результате разбивки текста на страницы могут разрываться слова. Поэтому лучше искать в тексте ближайшие (меньшие 1000) знаки препинания, пробелы и тд., обрезая страницу по ним.
Третий вариант - хранить в базе тексты постранично, т.е. уже при записи в БД делать разделение информации на страницы. Минус - появятся сложности при необходимости изменить количество символов на страницу.
Приложение:
Ответ отправил: Иван Сергеевич (статус: 4-ый класс)
Ответ отправлен: 17.03.2008, 15:28
Вопрос № 127.810
Здравствуйте, эксперты!
Хочу создать на сайте опрос, но хочу, чтобы при ответе на вопросы учитывались ответы на вопросы заданные ранее.
Например: "Вы били в нашей бане?" Да/Нет
Если "Да", то выходит следующий вопрос: "Вам у нас понравилось". Да/Нет.
Если "Нет", то - следующий: "А что Вам не понравилось?". И поле для ответа.
Отправлен: 17.03.2008, 21:28
Вопрос задал: Puma (статус: Практикант)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Чаднов Н
Хауреро, Puma!
Если на PHP то все свосем просто.
Первая страница.
Выводим вопрос.
Ответ отправляем на вторую страницу.
Вторая страница.
Если ответ положительный то записываем в базу.
Ответ отрицательный, выводим новую форму ввода.
Ответ отправляем на третью страницу.
Треться страница.
Если ответ положительный то записываем в базу.
Ответ отрицательный, выводим новую форму ввода.
Ответ отправляем на четвертую страницу страницу.
...
...
114 страница.
Если ответ положительный то записываем в базу.
Ответ отрицательный, выводим новую форму ввода.
Ответ отправляем на 115 страницу страницу.
115 страница.
Все записываем данные. Это конец.
И так далее можно до бесконечности. Можно все сделать в одном файле, используя сессию. Если Вы не можете написать сами, поищите в интернете должен быть такой скрипт.
Ответ отправил: Чаднов Н (статус: 2-ой класс)
Ответ отправлен: 17.03.2008, 21:55
Отвечает: Иван Сергеевич
Здравствуйте, Puma!
Давайте представим количество возможных исходов опроса:
1. Мнение пользователя (введенное в поле для ответа).
2. Промежуточное ДА/НЕТ, переводящее пользователя к следующему этапу.
3. Ответ, завершающий промежуточный опрос без перехода на следующий этап опроса.
В итоге смотрим получаемые таблицы:
/* Опросы */
id, title, id_firstquestion
/* Вопросы */
id, opros_id, text
/* Варианты ответа */
id, question_id, text, id_nextstep
Опросу соотвествует несколько вопросов (этапов), один из которых стартовый.
Вопрос состоит из идентификатора, текста вопроса и идентификатора опроса.
Каждому вопросу соответствует несколько вариантов ответа. Кроме идентификатора варианта и идентификатора вопроса, вариант содержит текст ответа и идентификатор следующего этапа (т.е. идентификатор следующего вопроса).
Если этот вопрос конечный (т.е. по сути это поле с вводом текста), то id_nextstep==0, а если это "отрубающий" ответ (например, не ходил человек в Вашу баню), то id_nextstep==-1.
Далее в скрипте остается проверять текущий этап опроса, и в зависимости от него формировать варианты ответов и интерфейсы пользователя. Механизм передачи ответов между скриптами можно реализовать с помощью сессий, как и было предложено в ответе выше.
Хранить в базе результаты опроса можно в таком виде:
/* Ответы */
id_user, id_opros, id_question, id_answer, text
Где id_answer - идентификатор последнего ответа. Если после ответа появилось поле ввода (id_answer==-2), то заполняем переменную text (необязательное поле, т.е. могущее содержать NULL)
Что в итоге?
Получим гибкую систему опросов, которая может содержать сколько угодно вариантов ответов, любую глубину вложенности и тд. Кроме того, нам не потребуется править скрипт опроса для замены одного опроса другим (или даже для добавления/удаления/редактирования вариантов ответа).
PS. Возможно, получилось немного сумбурно, я постарался описать Вам сам механизм.
Приложение:
Ответ отправил: Иван Сергеевич (статус: 4-ый класс)
Ответ отправлен: 17.03.2008, 22:26