Пожалуйста, скажите мне, как я мог бы сделать функцию запустить PHP только один раз в этой ситуации (в CodeIgniter):Как заставить PHP работать только после запуска в первый раз?
Когда ссылка на страницу нажатии она идет href="http://foo.com/func/id/"
. На основе сегмента URL-адреса id
сегмент func
выполняет функцию, которая решает, где перенаправить пользователя, который нажал ссылку.
То, что я хотел бы достичь это:
function func($id)
{
if ("first time link($id) is clicked by unique user") {
// Redirect based on $id
} else {
// Redirect to homepage
} }
В принципе, каждый клик по той же ссылке после первого щелчка вызовет else
случай. Ссылки могут иметь любые идентификаторы или классы, если необходимо.
Я хочу, чтобы этот код оставался верным для нажатых ссылок, по крайней мере, до тех пор, пока текущая страница не будет закрыта, но, возможно, удлините ее до сеанса браузера или даже на основе таймера, если это возможно - возможно, сеанс PHP ..?
Возможно, сеанс php. Или, может быть, некоторые javascript реагируют onclick и меняют ссылку на добавление параметра? – Aneri
Если вы пытаетесь заставить его отвечать только на первый клик на всех пользователей, тогда единственный полезный способ его хранения - через базу данных. Если вы хотите, чтобы он был в первый раз нажат только на текущий пользователь, тогда переменная $ _SESSION будет работать нормально. – LS11
Ну, вы должны знать, что хотите -> определить, что означает «первый»: Первый раз КОГДА-ЛИБО КОТОРЫЙ нажимает ссылку, первый раз на человека кто-то нажимает на ссылку. Затем вы должны определить, что такое человек: идентифицировано по идентификатору, по сеансу, по идентификатору пользователя (по регистрации), по времени, по файлу cookie .... это действительно зависит от того, что вы понимаете как «первый» – Zim84