如何在页面刷新之前显示cookie值

时间:2016-03-10 19:55:37

标签: php jquery cookies

晚上好。

我在设置Cookie时遇到问题。我需要设置cookie&#34; shid&#34; (用户ID)并在首次访问时使用它。因为它是一个页面网站,我需要将cookie值用于一个链接。访问者可以点击&#34;开始聊天&#34;链接,它看起来像这样:chat.php?user_id=<? echo $_COOKIE['shid']; ?>。但第一次访问是&#34; shid&#34;空。如何在首次访问时设置该cookie,该用户是否必须刷新页面才能正确使用聊天?

谢谢!

以下是完整代码:

<?php
  $sid = mt_rand();

    $cookie_name = "shid";

    if (!isset($_COOKIE['shid'])) {
    setcookie("shid", $sid, time()+60*60*24*100, "/");
}
?>

<a class="chat1" href="chat.php?user_id=<? echo $_COOKIE['shid']; ?>"></a>

1 个答案:

答案 0 :(得分:2)

只需定义它。 $_COOKIE['name'] = 'value';

在尝试输出数组值之前,我还使用isset()来验证数组值是否存在(如果它不存在,将避免令人讨厌的E_NOTICE)。

<?php
  $sid = mt_rand();

    $cookie_name = "shid";

    if (!isset($_COOKIE['shid'])) {
    $time = time()+60*60*24*100;
    setcookie("shid", $sid, $time, "/");
    $_COOKIE['shid'] = $time;
}
?>

<a class="chat1" href="chat.php?user_id=<? echo( isset( $_COOKIE['shid'] ) ? $_COOKIE['shid'] : '' ); ?>"></a>