我想在用户第一次访问我的网页时给他们一个随机数

i want to give the user a random number the first time they come on my webpage

我想这样做,以便他们可以匿名浏览我的内容,但仍然能够在其他设备上同步通知。

您可能想在 php 中使用 rand() 函数。

<?php
     echo rand();
?>

您可以在此处找到更多信息:

http://php.net/manual/en/function.rand.php

然后将其存储在您的数据库或会话中。

看你有没有用过session,这里有一个很好的教程:

http://www.w3schools.com/php/php_sessions.asp

你可以这样做:

<?php
    // Start the session
    session_start();
    $random_no = rand(); 

   // Set session variables
   $_SESSION["visitor_number"] = $random_no;
?> 

rand() 的一个问题是,根据访问您网站的访问者数量,您最终可能会得到重复项。值得存储做一些检查以确保您不会以重复结束。

这个线程可能会帮助你:

Generating UNIQUE Random Numbers within a range - PHP

希望对您有所帮助!

希望对您有所帮助。试试下面的代码。

uniqid(rand(),true)

在 PHP 中有几种方法可以获得 uniqueID。然而,并非所有这些都像您想象的那样独特。

兰特

http://php.net/manual/en/function.rand.php

$userId = rand(1, 99999999);

这个很难依赖,因为随机性就像掷骰子一样。它很有可能将相同的价值翻倍。

UniqId

http://php.net/manual/en/function.uniqid.php

$userId = uniqid('prefix', true);

一个更好的建议,但如果处理用户关键数据,仍然不能保证安全。第二个参数为您提供了更多的熵

GUID

目前最常用的唯一 ID 变体是 GUID。它来自 Microsoft 世界,提供了最多的熵。有几种生成 GUID

的方法

在 Windows 托管 PHP 实施中:

http://php.net/manual/en/function.com-create-guid.php

$userId = com_create_guid();

当您有权访问 PECL 时

安装http://pecl.php.net/package/uuid

$userId = uuid_create(); 

或创建自己的实现 例如

function getGUID(){
    if (function_exists('com_create_guid')){
        return com_create_guid();
    }else{
        mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
        $charid = strtoupper(md5(uniqid(rand(), true)));
        $hyphen = chr(45);// "-"
        $uuid = chr(123)// "{"
            .substr($charid, 0, 8).$hyphen
            .substr($charid, 8, 4).$hyphen
            .substr($charid,12, 4).$hyphen
            .substr($charid,16, 4).$hyphen
            .substr($charid,20,12)
            .chr(125);// "}"
        return $uuid;
    }
}

发送和存储 ID

最好将 userId 存储在 Session 变量中。根据使用的 PHP 系统,它可能类似于:

$_SESSION['userID'] = $userId;

并在其他请求中检索(翻转代码示例),例如 AJAX 通知更新请求。

您当然也可以选择保存在 public cookie 中,使 JS 可以使用该值。