|
|
|
| Господа, подскажите, пожалуйста, как проверить какая ссылка была выбрана пользователем? То есть в обработчике нужно определить по какой ссылке щёлкнул пользователь, чтобы этот самый обработчик вызвать. Это делается с помошью action? Заранее спасибо! | |
|
|
|
|
|
|
|
для: bonus_FM
(08.07.2006 в 12:58)
| | Нужно больше подробностей - у вас HTML-форма или просто ссылки и вы по ним переходите на другие страницы? | |
|
|
|
|
|
|
|
для: cheops
(08.07.2006 в 14:25)
| | Нет, HTML-формы нет, просто есть такая ну, скажем, система: вот у меня есть страница, на которой размещены ссылки на файлы. Вернее так: если пользователь авторизовавшийся, то ему показывается ссылка для скачивания, если пользователь не авторизовавшийся, то ссылка не отображается. Когда авторизовавшийся пользователь щёлкает по ссылке загрузки файла, то этот его запрос перехватывается обработчиком handler.php, который ещё раз проверяет пользователя на его присутствие и осуществляет увеличение счётчика скачиваний для этого файла и если пользователь присутсвтует в текущей сессии, то осуществляет перенаправление на файл таким образом: header("Location:files_dir/files.doc"); Но проблема в том, что на странице ссылок много, а создавать для каждой ссылки свой, пусть и однотипный, обработчик не хочется. Есть такая идея: забить имена всех фалов в текстовый документ, причём так: на каждой строке - одно имя файла. Потом в обработчике считывать содержимое этого файла. А одновременно с этим, в этом же обработчике нужно определить, какая ссылка вызвала его работу. И в зависимости от того, какая ссылка была нажата, такой файл и загружается. Причём имя отдаваемого файла берётся вот как раз из того считанного контента. Вообщем, мне просто нужно определить какую ссылку нажал пользователь, чтобы вызвать handler.php. Вот как это узнать? Помогите, пожалуйста, очень нужно! Заранее спасибо! | |
|
|
|
|
|
|
|
для: bonus_FM
(08.07.2006 в 15:25)
| | Зачем так много гемороя? Зачем создавать обработчик для каждого файла?
Неужели нельзя просто передвать название файла через GET а потом перенаправлять на этот файл? | |
|
|
|
|
|
|
|
для: bonus_FM
(08.07.2006 в 15:25)
| | Хм... вы пронумеруйте файлы, а в ссылке передавайте номер файла через GET-параметр
который можно будет получить в элементе $_GET['id'] - по этому номеру вы сможете определить выбор пользователя. | |
|
|
|
|
|
|
|
для: 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 одновременно и сид и номер (или имя) файла? | |
|
|
|
|
|
|
|
для: 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>";
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(09.07.2006 в 13:46)
| | cheops, спасибо Вам огромнейшее, теперь всё работает! | |
|
|
|