#php #wordpress
#php #wordpress
Вопрос:
Я пытаюсь сохранить динамическую переменную из внешней ссылки ?dynamic=a_12_bc
и поместить в ссылку, которая выглядит так http://www.myweb.com?tracker=a_12_bc
в первый раз, когда она всегда показывает динамическую ссылку, но когда я обновляю и нажимаю на другую страницу, она отображается ?tracker=[object][Object]
.
<?php session_start();
echo $_GET['dynamic'];
if( isset($_GET['dynamic']))
{
$cookie_name = "dynamic";
$cookie_value = $_GET['dynamic'];
setcookie($cookie_name, $cookie_value, time() (86400 * 30), "/");
$_SESSION["dynamic"] = $cookie_value;
}
else
{
$_SESSION["dynamic"] = $_COOKIE['dynamic'];
}?>
Button Link
<a href="https://www.myweb.com/?tracker=<?php echo($_SESSION['dynamic']);?>" target="_blank">LOG IN</button></a>
Не могли бы вы рассказать мне, как поддерживать сеанс на других страницах
Ответ №1:
Проверьте, установлен ли файл cookie, прежде чем назначать его сеансу, добавив isset() в свой код.
if(isset($_GET['dynamic']))
{
$cookie_name = "dynamic";
$cookie_value = $_GET['dynamic'];
setcookie($cookie_name, $cookie_value, time() (86400 * 30), "/");
$_SESSION["dynamic"] = $cookie_value;
}
else if(isset($_COOKIE['dynamic'])) {
$_SESSION["dynamic"] = $_COOKIE['dynamic'];
}
else
{
//something here
}
если файл cookie не установлен, попробуйте добавить домен в метод setcookie(),
setcookie( $cookie_name , $cookie_value , time() (86400 * 30), '/', COOKIE_DOMAIN );
Если вам нужна дополнительная информация, вы можете перейти по этой ссылке https://premium.wpmudev.org/blog/set-get-delete-cookies