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

Форум PHP

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

 

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

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

тема: Передача URL при переходе по ссылке в скрипт PHP
 
 автор: Alex14   (27.01.2008 в 15:39)   письмо автору
 
 

При нажатии на ссылку типа http://ref нужно не дать браузеру послать запрос, а передать адрес ссылки в PHP-скрипт. Например, нажатие на http://ref вызывает выполнение скрипта click.php?a=ref. Всё происходит на локальном компьютере. Каким образом можно это реализовать?

   
 
 автор: bronenos   (27.01.2008 в 17:04)   письмо автору
 
   для: Alex14   (27.01.2008 в 15:39)
 

на странице сделать iframe скрытый с именем tgt
на ссылках

<script>
function link(url)
{
  document.frames['tgt'].src = "click.php?a=" + url.substr(7);
}
</script>

<a href="http://link/" onClick="link(this.href); return false;">Линк</a>

   
 
 автор: Alex14   (27.01.2008 в 18:35)   письмо автору
 
   для: bronenos   (27.01.2008 в 17:04)
 

Что-то не работает.
В файле test.html кликаю на Линк
<iframe name="tgt"></iframe>
<script> 
function link(url) 

  document.frames['tgt'].src = "click.php?a=" + url.substr(7); 

</script> 

<a href="http://link/" onClick="link(this.href); return false;">Линк</a>

и ничего не меняется.
Скрипт click.php такой
<?php
echo $_GET['a'];
?>

(JS практически не знаю)

   
 
 автор: Alex14   (27.01.2008 в 18:46)   письмо автору
 
   для: Alex14   (27.01.2008 в 18:35)
 

Эту задачу можно просто решить средствами PHP, заменяя ссылки при помощи регулярных выражений. Например, "http://site/dir/file.html" заменить на "click.php?a=site/dir/file.html". Но такой вариант работает только в том случае, если ссылки являются полными, начинаются с http://. Если используется мета-тег base, в котором указывается основание ссылок, то ссылки приобретают вид "dir/file.html" или просто "file.html", т.е. имя домена или каталогов могут не указываться.

   
Rambler's Top100
вверх

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