Php I';我想更改来宾的随机用户名<;随机数>;至<;随机词>;

Php I';我想更改来宾的随机用户名<;随机数>;至<;随机词>;,php,random,Php,Random,我会尽力解释的 此代码如下: if (empty($userid)) { $random = rand(10000,99999); $sql = ("insert into cometchat_guests (name,lastactivity) values ('Guest ".$random."','".getTimeStamp()."')"); $query = mysql_query($sql); $userid = mysql_insert_id();

我会尽力解释的

此代码如下:

if (empty($userid)) {
    $random = rand(10000,99999);
    $sql = ("insert into cometchat_guests (name,lastactivity) values ('Guest ".$random."','".getTimeStamp()."')");
    $query = mysql_query($sql);
    $userid = mysql_insert_id();
    setcookie($cookiePrefix.'guest', base64_encode($userid), time()+3600*24*365, "/");
}

return $userid;
这将返回Guest 13245或Guest 85247等的随机用户名

我想要的是归还客人贝蒂,或客人鬼魂,或客人山羊,或客人茶壶等

我将如何编辑代码来实现这一点

提前非常感谢你的帮助,我真的很感激

我试过这个:

if (empty($userid)) {
    $random = rand(10000,99999);
    $filename="words.txt";
    $words=file($filename);
    shuffle($words);
    $word=$words[o];
    $sql = ("insert into cometchat_guests (name,lastactivity) values ('Guest ".$word."','".getTimeStamp()."')");
    $query = mysql_query($sql);
    $userid = mysql_insert_id();
    setcookie($cookiePrefix.'guest', base64_encode($userid), time()+3600*24*365, "/");
}

return $userid;
但是没用,哈哈

回答。对于想要此功能的任何其他人:

if (empty($userid)) {
    $names= array('Goat', 'Teapot', 'Fuzzyface');
            $random = rand(0,count($names)-1);
            $name= $names[$random];
    $sql = ("insert into cometchat_guests (name,lastactivity) values ('Guest ".mysql_real_escape_string($name)."','".getTimeStamp()."')");
    $query = mysql_query($sql);
    $userid = mysql_insert_id();
    setcookie($cookiePrefix.'guest', base64_encode($userid), time()+3600*24*365, "/");
}

return $userid;

这就成功了:)多亏了加法器。

你需要一本字典才能做到这一点。您可以提供一个包含单词的数组

if (empty($userid)) {
    $dictionary = array(0 => 'Betty', 1 => 'Ghost');
    $max = count($dictionary) - 1;
    $random = rand(0, $max);
    $sql = ("insert into cometchat_guests (name,lastactivity) values ('Guest".$random."','".getTimeStamp()."')");
    $query = mysql_query($sql);
    $userid = mysql_insert_id();
    setcookie($cookiePrefix.'guest', base64_encode($userid), time()+3600*24*365, "/");
}

return $userid;
根据需要展开阵列。也许你可以在其他地方下载一本随机单词词典。当然,如果名字已经给了某人,你就只需要核对一下你的号码,以避免重复

我的建议是,你可以创建两个单词来最大化单词的数量。您可以从这里获取如下列表: 并创造出总是由两个世界组成的名字,比如betty_ghost。您还可以让用户选择前缀,如“叔叔”、“兄弟”、“先生”等,或者在单词上附加一个随机数。有了这些话,你需要意识到,在任何情况下,有些人可能不喜欢他们听到的话,而不使用你的服务。因此,如果他们不喜欢,允许他们买一个新的

在上面的代码中,您添加了文字file,您必须替换

$word=$words[o];


您可以有一个mysql表,其中包含随机单词。然后您可以随机选取一行并将其用作用户名。例如

if (empty($userid)) {
    $randomSql = "SELECT RANDOM_WORD FROM `random_word_table` ORDER BY RAND() LIMIT 0,1;"
    $randomQuery = mysql_query($randomSql);
    $randomResult = mysql_fetch_row($randomQuery);        

    $sql = ("insert into cometchat_guests (name,lastactivity) values ('Guest ".$randomResult['RANDOM_WORD']."','".getTimeStamp()."')");
    $query = mysql_query($sql);
    $userid = mysql_insert_id();
    setcookie($cookiePrefix.'guest', base64_encode($userid), time()+3600*24*365, "/");
}

return $userid;
像这样:

$names= array('Ann', 'Betty', 'Charles');
$random = rand(0,count($names)-1);
$name= $names[$random];
$sql = ("insert into cometchat_guests (name,lastactivity) values ('Guest ".mysql_real_escape_string($name)."','".getTimeStamp()."')");

这里有一个独立的函数,可以向您返回一个随机用户名。当然,您需要向池中添加更多的名称,以减少名称冲突的机会

<?php
function make_random_username() {
    $user_name_pool = array(
        'Ghost',
        'Goat',
        'Teapot'
    );
    $number = rand(0, count($user_name_pool) - 1);
    return 'Guest '.$user_name_pool[$number];
}
?>


如果您不想编造大量用户名,那么有一个可用的数据库。

您必须有一个随机名称数据库
<?php
function make_random_username() {
    $user_name_pool = array(
        'Ghost',
        'Goat',
        'Teapot'
    );
    $number = rand(0, count($user_name_pool) - 1);
    return 'Guest '.$user_name_pool[$number];
}
?>