Webmaster общности: Predpriemach.com | SearchEngines.bg

    Генериране на уникален код

    phpbb модове

    Автор: HunteR

    Сега ще ви покажа един метод как може да генерирате уникален код.

    Така ще започнем от структурата на базата данни.
    Тя е една таблица с едно поле, в което ще се записват създадените до момента кодове.

    Така ето я:

    CREATE TABLE `codes` (
    `code` varchar(250) NOT NULL default ''
    );

    Ето и самия скрипт за генериране на уникален код.

    <?php
    // CONFIG //
    
    // Връзка с базата данни
    $db_conn = mysql_connect("localhost", "root", "password") or die(mysql_error());
    mysql_select_db("database", $db_conn) or die(mysql_error());
    
    define(COUNT_SIMBOLS,8); // тук дефинираме колко символа да бъде кода
    define(ALL_SIMBOLS,'0123456789qwertyuioplkjhgfdsazxcvbnm'); // тук слагаме символите, от които да се генерира кода
    
    // CONFIG //
    
    $code = substr(str_shuffle(ALL_SIMBOLS),0,COUNT_SIMBOLS);
    $continue = false;
    while (!$continue) {
    $query = mysql_query("SELECT `code` FROM `codes` WHERE `code` = '$code'"); // проверяваме за кода в базата данни за да сме сигурни, че кода ще бъде напълно уникален :)
    if (mysql_num_rows($query) == 0) { // проверяваме дали вече има такъв код, ако няма продължаваме
    mysql_query("INSERT INTO `codes` (`code`) VALUES ('$code')"); // добавяме кода в базата данни за да сме сигурни, че няма да бъде повторен
    $continue = true;
    } else {
    $code = substr(str_shuffle(ALL_SIMBOLS),0,COUNT_SIMBOLS); // тук генерираме нов код, ако предишния генериран е съществувал в базата
    $continue = false;
    }
    }
    
    // връшаме променливата "$code" с уникалния код. Вече може да я правите каквото поискате ;)
    echo $code;
    ?>

    Урокът е авторски и забранявам преписването му в други сайтове без мое съгласие!