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

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

Така ето я:
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;
?>




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

/ Трябва да сте регистриран за да напишете коментар /
От: arzkupar
19:18 28-09-2009
здравейте!от тука нищо не разбрах....,ползвам windows xp какъв е най лесният начин да отворя php файл?
От: HunteR
19:24 28-09-2009
Най-лесният начин е Notepad, а пък с малко екстри Notepad++ :P
От: admin
20:01 28-09-2009
Отвори го като текстов файл и после го запиши като .php .
Също както и HTML файла го създаваш.

Проблема е,че не може да го стартираш както го правиш с .html .
Трябва да е на сървър. ИЗтегли си някакъв пакет и си го инсталирай.
xamp примерно, че е по лесно.
От: galabin123
21:34 25-12-2009
разгледах кода и много е полезен но можете ли да ми кажете как да направя да генерира код според името му т.е. site.bg/galabin123 а не със числа и букви
От: galabin123
1:05 26-12-2009
орпавих се то било лесно
От: r3nt3r
22:16 12-06-2011
тва скриптче много лошо бе ей :D малко го моднах да въвеждаш в поле колко символа да име и написах asdf и ми крашна хоста :D мноо добро иначе :dd
1