我需要在用户的每次点击链接上创建唯一的id。代码为
<a class="popup-text" href="examplelink&aff_sub=<?php echo $up_id; ?>" data-toggle="modal">Upto Rs.10000 Cashback LED TVs
+ Get additional upto Rs. 4 Cashback from afft</a>
当用户点击该链接时,应自动生成$up_id
。$up_id
应该在用户每次点击该链接时更改。$up_id
来自以下代码
<?php
$up_id=md5(uniqid(rand(), true));
?>
但是我每次都得到相同的id
你可以用javascript代替PHP生成随机数,试试下面的代码:
<a class="popup-text" href="examplelink" onclick="location.href=this.href+'?&aff_sub='+Math.floor((Math.random()*1000)+1);return false;" data-toggle="modal">Upto Rs.10000 Cashback LED TVs
+ Get additional upto Rs. 4 Cashback from afft</a>
最佳解决方案是,获取当前时间戳并取该st的md5()
$up_id = md5(current time stamp);
您可以使用以下函数轻松实现此功能:
function random_string($length)
{
$string = "";
$chars = "abcdefghijklmanopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
$size = strlen($chars);
for ($i = 0; $i < $length; $i++) {
$string .= $chars[rand(0, $size - 1)];
}
return $string;
}
这里首先生成一个空字符串,然后定义一个包含所有所需字符的字符串。在计算完字符数之后,就可以开始填充新字符串了。你只需要使用for循环就可以了。每次调用循环内容时,会有一个随机字符(来自$char)添加到空字符串中。
使用这个函数(例如,如果您想将ID存储在一个变量中)只需输入:
$password = rand_string(15) //the number specified in brackets is the amount of characters in your password
因此,使用这个函数,您可以总是生成一个随机字符串(在您的情况下,是一个唯一的ID)。
如果你遇到任何问题,请告诉我。