2015-11-21 2 views
1

У меня есть ссылка href, и я хотел бы передать некоторые переменные, не используя их в ссылке, что является лучшей идеей?Лучшая идея передать переменные из ссылки href

<a href="Files/download.php?file=fileName">Click</a> 

Я хотел бы получить эти переменные в моей странице download.php, чтобы обновить их в свою базу данных таблицы:

timestamp 
downloads 
hits 
views 

Заранее спасибо

ответ

2
<a href="Files/download.php?file=fileName" >Click</a> 

Ее все зависит от ситуации, как это сделать, потому что есть много способов сделать это

1) если вы не хотите, чтобы показать параметры для пользователя, то вы можете шифровать их & добавьте их в URL. 2) если вы не хотите параметров в URL, то вы можете создать скрытые входные тег для всех параметров & затем с помощью метода POST отправить эту форму на HREF мыши или сохранить значения в сессии

<form id='hidden_form' action='Files/download.php'> 
<input type='hidden' name='timestamp' value='some value' > 
<input type='hidden' name='downloads' value='some value' > 
<input type='hidden' name='hits' value='some value' > 
<input type='hidden' name='views' value='some value' > 

$_SESSION['timestamp'] = '<some value>'; 
$_SESSION['downloads'] = '<some value>'; 
$_SESSION['hits'] = '<some value>'; 
$_SESSION['views'] = '<some value>'; 
+0

Есть ли какие-либо проблемы с использованием сеанса? например, сеанс украден –

+0

Сессии значительно безопаснее, чем, скажем, файлы cookie. Но по-прежнему можно украсть сеанс, и, таким образом, у хакера будет полный доступ к тому, что есть в этом сеансе. Некоторые способы избежать этого: IP Checking & using nonce. Как правило, с помощью nonce у вас есть «токен» для каждой страницы, так что каждая страница проверяет, совпадает ли счетчик последней страницы с тем, что он сохранил. –

0

Используя ссылку, вы не имеют большую гибкость. Вы действительно можете передать их только через URL.

Вы могли бы сделать больше, если это была форма, и эти переменные были переданы как данные POST. Затем они будут скрыты от пользователя и не будут отображаться в URL-адресе. Вы можете использовать скрытые входы:

<input type='hidden' name='myVariable' value='5' /> 

Вы также можете хранить их в $_SESSION, но это трудно сказать, что лучше для вашей ситуации без контекста.

+0

Не уверен, почему это было проголосовано. Он спросил, как передать переменные на другую страницу PHP, не помещая их в ссылку. Я дал две альтернативы. – djt

+0

спасибо человеку, я поддержал, есть ли какие-либо проблемы с использованием сеанса? например, сеанс украден –

0

Если вы хотите использовать ссылку href, используйте следующее.

<a href="Files/download.php?file=fileName&timestamp=value&downloads=value&hits=value&views=value">Click</a> 
+0

Я не хочу использовать параметры в ссылках –

Смежные вопросы