|
|
|
| Такая задача:
Есть 2 файла ent.php и img.php
Исполянться они будут следущим образом. Пользователь у себя на сайте размещает html код
<a href="http://mysite.ru/ent.php?id=(ID_площадки)"><img src="http://mysite.ru/img.php?id=ID_площадки" alt="mysite"/></a>
|
При исполнении оба этих скрипта должны случайным образом извлечь из таблиы platforms один и тот же id (он же первичный ключ).
Исходя из html кода файл скрипт img.php будет выполняться первым, тем самым есть вариант один как можно решить задачу. Но прежде хотелось бы предложение от профессионалов. | |
|
|
|
|
|
|
|
для: ols
(25.08.2008 в 21:05)
| | Интересное название темы =)))
Используйте сессии?
Тригеры?
Записывайте куда-нибудь во временную переменную?
Понимаю так, что посетитель еще и кликнуть может. Однозначно сессии =) | |
|
|
|
|
|
|
|
для: Le bien
(25.08.2008 в 21:12)
| | Да там вообще ничего ненадо... но раз первыми должны говорить профессионалы, то помолчу. | |
|
|
|
|
|
|
|
для: Valick
(25.08.2008 в 22:03)
| | Лично я на звание профессионала не претендую =)
2 разных запроса, выбирающих случайное значение из БД. Никакой логики в "там вообще ничего не надо" не вижу лично я | |
|
|
|
|
|
|
|
для: Le bien
(25.08.2008 в 22:56)
| | Логики обычно невидно там где телегу запрягают в лошадь... | |
|
|
|
|
|
|
|
для: Le bien
(25.08.2008 в 22:56)
| | Раз уж вы заговорили о логике, то:
оба этих скрипта должны случайным образом извлечь из таблиы platforms один и тот же id
зачем составлять второй запрос, зачем устанавливать соединение с БД, лишь для того чтобы извлечь заведомо известное значение? | |
|
|
|
|
|
|
|
для: Valick
(25.08.2008 в 23:56)
| | >Раз уж вы заговорили о логике, то:
>оба этих скрипта должны случайным образом извлечь из таблиы platforms один и тот же id
при том, что он конкретно передан им в качестве GET-параметра
Какая уж тут логика. Тут вынос моска. | |
|
|
|
|
|
|
|
для: Trianon
(26.08.2008 в 00:01)
| | при том, что он конкретно передан им в качестве GET-параметра
Это десерт... | |
|
|
|
|
|
|
|
для: ols
(25.08.2008 в 21:05)
| | Давайте определимся с задачей
Ползователь на своём сайте "ставит" динамическую ссылку (а не размещает код), которая тянет с вашего сервера картинку и в случае клика по ней оправляет вам же на сервер ID этой картинки.
Как же формируется эта ссылка?
Пользователь в коде своего сайта должен обратится к вашему серверу и выбрать случайный ID из вашей базы данных.
Возникает ещё один вопрос:
Как же обратится с одного сервера на другой и получить этот злополучный ID? | |
|
|
|
|
|
|
|
для: Valick
(26.08.2008 в 00:12)
| | >оба этих скрипта должны случайным образом извлечь из таблиы platforms один и тот же id
>при том, что он конкретно передан им в качестве GET-параметра
>Какая уж тут логика. Тут вынос моска.
Вы меня не поняли.
to Valick, пользователь не "ставит" динамическую ссылку, а именно размещает html код, который он получил в процессе регистрации в системе.
приведу такой пример -
Пользователь в своем аккуанте зарегистрировал новую площадку, где получил допустим id площадки 1, тем самым в таблицу platforms занесли следущие данные - id - первичный ключ, id_user - id этого пользовательского аккуанта, url - адрес сайта, banner - путь к банеру.
после добавления площадки он на своем сайте размещает банер на главной странице, причем уже с готовым айди, и генерироваться он не как не будет, в данном случае его id=1 -
<a href="http://mysite.ru/ent.php?id=1"><img src="http://mysite.ru/img.php?id=1" alt="mysite"/></a>
|
Так вот, любой посетитель данного сайта заходит на его сайт, и первым срабатывает файл img.php, он зачисляет показ баннера на аккуант, которому принадлежит площадка с id=1, если же посетитель кликнул по банеру, то владельцу аккуанта зачисляется переход.
Самое главное хочу сказать что скрипт img.php генерирует из базы баннер другого участиника сети, а ent.php должен отправить на сайт(площадку), к которому принадлежит сгенерированный, файлом img.php баннер.
Ведь многие банерные сети сделанны именно таким методом, и сесии вряд ли здесь помогут.
p.s. извините за столь не корректно, созданное имя темы | |
|
|
|
|
|
|
|
для: ols
(26.08.2008 в 02:19)
| | Вы определённо издеваетесь)))
пользователь не "ставит" динамическую ссылку, а именно размещает html код, который он получил в процессе регистрации в системе
|
Самое главное хочу сказать что скрипт img.php генерирует из базы баннер другого участиника сети
|
Вот сессии здесь точно вряд ли помогут, и всё остальное из перечисленного Le bien.
Ведь многие банерные сети сделанны именно таким методом
Код который вы привели, это что видет пользователь у себя в браузере если всё остальное уже сделано на сервере, а код который считает показы и вывод случайного баннера занимает гораздо больше строчек. На сколько я помню (и по логике) там используется ЯваСкрипт, а вот если ещё и баннер не статичный, а каждый раз новый, то это уже AJAX. Примерно. | |
|
|
|
|
|
|
|
для: Valick
(26.08.2008 в 09:35)
| | >Вы определённо издеваетесь)))
Нисколько=))
Ну установил пользователь у себя на сайте этот самый html код, где id=1, а при загрузке файл img.php деалет следущее -
1) Выбирает из таблицы случайный id другого участника системы, а затем поле с названием банера, выводит его на страницу
2)Из строки запроса -
<a href="http://mysite.ru/ent.php?id=1"><img src="http://mysite.ru/img.php?id=1" alt="mysite"/></a>
| , определяет id участника системы, а конкретнее его сайт на котором был совершен показ банера, тем самым зачисляя ему показ +1.
Меня преследует только одна проблема - как сделать так, что если скрипт img.php сгенерировал из базы допустим айди другого участника, равным 2 (к примеру), то (если пользователь кликнет по банеру) скрипт ent.php должен уже свершить редирект на сайт, чей id в системе равен 2. Прще говоря ent.php должен работать с тем же айди, который сгенерировал скрипт img.php. Только не знаю как его можно передать, не меняя структуры html кода.
И еще все это выполняется на одном сервере, просто ссылки размещаются на других.
И я Вам могу заверить что это все уже осущестлено средставими могучего и грозного php =)) , никаго аякса и яваскрипта не присутствует, и даже в качестве доказательсв могу привести ссылку, где именно таким образом выпляняется принцип банерной сети. | |
|
|
|
|
|
|
|
для: ols
(26.08.2008 в 13:20)
| | Я настаиваю вы издеваетесь!!!!!))))
Ваши слова: И я Вам могу заверить что это все уже осущестлено средставими могучего и грозного php
Мои слова: Код который вы привели, это что видет пользователь у себя в браузере если всё остальное уже сделано на сервере
Ваши слова: Меня преследует только одна проблема - как сделать так, что если скрипт img.php сгенерировал из базы допустим айди другого участника
Мои слова: там используется ЯваСкрипт, а вот если ещё и баннер не статичный, а каждый раз новый, то это уже AJAX
Только не знаю как его можно передать, не меняя структуры html кода.
Я вам уже про это битые сутки талдычу не меняя никак нельзя!!! А сменить можно либо средствами РНР (если хостер пользователя предоставляет поддержку РНР) либо AJAX (JavaScript+PHP в вашем случае)(если хостинг на котором расположен сайт не имеет поддержки РНР). | |
|
|
|
|
|
|
|
для: Valick
(26.08.2008 в 13:37)
| | >Я настаиваю вы издеваетесь!!!!!))))
Ну тогда приношу свои извинения, сами видите не специально=)))
Хм...Ну вот если несложно Вам посмотрите пожалуйста banners.su, выберете любого пользователя(http://banners.su/statuser.php) и на его страничке будет размещен точно такой же код, где один скрипт показывает баннер, другой кидает на сайт, кому принадлежит баннер.
И там уже точно ни яваскрипт ни аякс не претендует, только php+xhtml+Mysql. | |
|
|
|
|
|
|
|
для: ols
(26.08.2008 в 14:03)
| | Будет ваш код выводить картинку по запросу, а ссылка направлять на url указанный. О чем спорим? | |
|
|
|
|
|
|
|
для: sim5
(26.08.2008 в 14:58)
| | Ссылка должна быть динамической, но без использования РНР...
И я пытаюсь обяснить автору что самое главное, это то что нужно определить реально существующий ID из базы (и раз уж без РНР, то сделать это надо уже после или во время загрузки страницы пользователю на локальном компьютере, тобишь с применением Аякса), а всё остальное туфта.. по ссылке можно передавать кучу различных переметров...
Можно как вариант генерить случайное число из определённого диапазона при помощи ЯвыСкрипт, и если такого ID нет в базе то брать следующий... но это не контролируемый процесс показов баннеров (может какие-то надо показывать чаще или реже). | |
|
|
|
|
|
|
|
для: Valick
(26.08.2008 в 15:07)
| | Почему без РНР? Что перед выводом этой ссылки нельзя взять из базы "случайные" id? Я просто не понимаю сути спора :) | |
|
|
|
|
|
|
|
для: sim5
(26.08.2008 в 15:18)
| | >Будет ваш код выводить картинку по запросу, а ссылка направлять на url указанный
Да, именно!
>И я пытаюсь обяснить автору что самое главное, это то что нужно определить реально >существующий ID из базы
Ну так я и буду генерировать случайный id из базы, уже существующий, причем будет генерироваться только те id, в которых включен показ банеров (значение on, поле типа enum)
Посетитель зашел на сайт, появился банер, следовательно извлекся случайный id из базы, и на этот id как и был так и остается в теле скрипта, никами get параметрами его не получится передать. Но остается проблема - если посетитель кликнул по банеру то нужно его направить на сайт указанного банера, а чтобы это сделать нужно получить точно этот же id, который первый сгенерировал img.php
Буквально сейчас родилась мысль использовать куки.
Действия:
Посетитель зашел на страницу, показался банер, сгенерировался id из базы. Этот id(далее id_user) и id который размещен в html коде записываем в куки и далее посетитель переходит по банеру (скрипт ent.php), извлекаем из кук значение id_user чтобы определить с какой сайта был преход для зачисления перехода и извлекаем id чтобы понять куда направить посетителя, соответственно спрашиваем все эти данные у БД, а потом получив в БД адрс сайта заголовком header("Location... направляем посетитлея. на последок чистим куки.
Это все теория пока. Пожалуйста скажите как данный вариант подойдет вполне? | |
|
|
|
|
|
|
|
для: ols
(26.08.2008 в 17:27)
| | Ну чтобы узнать, что пользователь хочет перейти по баннеру на некий сайт, в вашем случае и куки не потребуются, коли вы знаете по полученному id адрес куда направить пользователя. | |
|
|
|
|
|
|
|
для: ols
(26.08.2008 в 17:27)
| | Нет не подойдёт)))
О чём вы??? Вы даёте зарегистрированному пользователю сгенерированный лично для него ХТМЛ код с его идентификатором. Всё дальше "баста карапузы кончилися танцы", вы уже никак его не можете изменить он относительно статичен.
Когда он начинает выполнятся (вместе с загрузкой или после загрузки страницы на локальном компьютере) то передаёт идентификатор на ваш сервер где зачисляется показ баннера, и выбирается случайный идентификатор баннера другого пользователя из БД и уже ЭТОТ баннер отображается на странице браузера (а что бы его принять нужны либо фреймы, либо AJAX) и клик по ссылке передаст на ваш сервер регистрационный идентификатор и ЭТОТ по которому надо перейти и засчитать переход. | |
|
|
|