如何在php中给url一个唯一的id?

时间:2014-04-04 12:07:41

标签: javascript php html mysql

我想在我的网址中提供特定的唯一ID, 比如在网址的末尾"?id = smtb" 应该包含在内...

因为我不知道使用哪个代码来转换下面的url

www.mylink.com/page.php

www.mylink.com/page.php?id=smtb
www.mylink.com/page.php?id=sea

这样我就可以存储在我的数据库中

3 个答案:

答案 0 :(得分:1)

联络表格

<form method="GET" action="process.php">
    <input type="hidden" name="p" id="p" value="<?php echo $_GET['id']; ?>" />
</form>

process.php

$pageid = $_GET['p'];

当您点击该链接时,您将获得类似以下内容:

www.abc.de/process.php?p=123123 这部分对我没有意义:

<?php echo $_GET['id']; ?> 

可能是这个:

<?php echo $id ?> 

答案 1 :(得分:1)

您可以在PHP中使用以下功能创建uniq id。

$up_id = uniqid(); 

如果您只想要字符串格式的随机ID。

您可以使用以下功能定义。

function generateRandomString($length = 5) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
}

您可以获取包含<a href="page.php?id=<?php echo $up_id; ?>">here you go</a>

等链接的链接

答案 2 :(得分:0)

如果我正确理解了您的问题,您是否正在寻找为您提交的每个表单生成唯一(数字)ID的方法?

首先想到的是使用时间函数,这在技术上可能导致重复,但实际上除非你每秒有超过1000个请求,否则将是安全的。

$id = microtime(true) * 10000;

此代码段将生成类似于以下数字的数字: 13966142246941

至于将其包含在您的表格中,我猜测@ Xatenev的答案就足够了。

<?php echo $id ?>

希望有所帮助。