Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как проверить, какая ссылка выбрана посетителем?
 
 автор: bonus_FM   (08.07.2006 в 12:58)   письмо автору
 
 

Господа, подскажите, пожалуйста, как проверить какая ссылка была выбрана пользователем? То есть в обработчике нужно определить по какой ссылке щёлкнул пользователь, чтобы этот самый обработчик вызвать. Это делается с помошью action? Заранее спасибо!

   
 
 автор: cheops   (08.07.2006 в 14:25)   письмо автору
 
   для: bonus_FM   (08.07.2006 в 12:58)
 

Нужно больше подробностей - у вас HTML-форма или просто ссылки и вы по ним переходите на другие страницы?

   
 
 автор: bonus_FM   (08.07.2006 в 15:25)   письмо автору
 
   для: cheops   (08.07.2006 в 14:25)
 

Нет, HTML-формы нет, просто есть такая ну, скажем, система: вот у меня есть страница, на которой размещены ссылки на файлы. Вернее так: если пользователь авторизовавшийся, то ему показывается ссылка для скачивания, если пользователь не авторизовавшийся, то ссылка не отображается. Когда авторизовавшийся пользователь щёлкает по ссылке загрузки файла, то этот его запрос перехватывается обработчиком handler.php, который ещё раз проверяет пользователя на его присутствие и осуществляет увеличение счётчика скачиваний для этого файла и если пользователь присутсвтует в текущей сессии, то осуществляет перенаправление на файл таким образом: header("Location:files_dir/files.doc"); Но проблема в том, что на странице ссылок много, а создавать для каждой ссылки свой, пусть и однотипный, обработчик не хочется. Есть такая идея: забить имена всех фалов в текстовый документ, причём так: на каждой строке - одно имя файла. Потом в обработчике считывать содержимое этого файла. А одновременно с этим, в этом же обработчике нужно определить, какая ссылка вызвала его работу. И в зависимости от того, какая ссылка была нажата, такой файл и загружается. Причём имя отдаваемого файла берётся вот как раз из того считанного контента. Вообщем, мне просто нужно определить какую ссылку нажал пользователь, чтобы вызвать handler.php. Вот как это узнать? Помогите, пожалуйста, очень нужно! Заранее спасибо!

   
 
 автор: cyberface   (08.07.2006 в 16:03)   письмо автору
 
   для: bonus_FM   (08.07.2006 в 15:25)
 

Зачем так много гемороя? Зачем создавать обработчик для каждого файла?
Неужели нельзя просто передвать название файла через GET а потом перенаправлять на этот файл?

   
 
 автор: cheops   (09.07.2006 в 10:40)   письмо автору
 
   для: bonus_FM   (08.07.2006 в 15:25)
 

Хм... вы пронумеруйте файлы, а в ссылке передавайте номер файла через GET-параметр
handler.php?id=106

который можно будет получить в элементе $_GET['id'] - по этому номеру вы сможете определить выбор пользователя.

   
 
 автор: bonus_FM   (09.07.2006 в 11:34)   письмо автору
 
   для: cheops   (09.07.2006 в 10:40)
 

Так то оно так. Но понимаете в чём ещё проблема: я использую сессии в обработчике. И в ссылке на загружаемый файл мне приходится передавать ещё и сид. То есть получается что мне нужно в ссылке передать и сид и номер файла. Я пробовал, но пока не получается. Делаю так:
$link_name = "file.txt";
echo "<a href = \"http://www.site.ru/dir/handler.php?<?=SID?>&links=$link_name\">Скачать</a>";
При включённых cookies вроде бы как работает, но если cookies отключены, то в исходном тексте страницы в браузере такая запись: <a href = "http://www.site.ru/dir/handler.php?<?=SID?>&links=file.txt">Скачать</a>
Что можно здесь сделать? Как-то можно передать в обработчик handler.php одновременно и сид и номер (или имя) файла?

   
 
 автор: cheops   (09.07.2006 в 13:46)   письмо автору
 
   для: bonus_FM   (09.07.2006 в 11:34)
 

Хм... а почему так
<?php
  
echo "<a href = \"http://www.site.ru/dir/handler.php?<?=SID?>&links=$link_name\">Скачать</a>";
?>

следует писать так
<?php
  
echo "<a href = \"http://www.site.ru/dir/handler.php?PHPSESSID=".SID."&links=$link_name\">Скачать</a>";
?>

   
 
 автор: bonus_FM   (09.07.2006 в 15:00)   письмо автору
 
   для: cheops   (09.07.2006 в 13:46)
 

cheops, спасибо Вам огромнейшее, теперь всё работает!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования