Въпрос относно заявка

CosaNostra

Registered
Здравейте! Значи имам една идея. Направил съм си таблица в БД с полета code, use, user. В полето code искам да вкарам код, който генерирам чрез капча, обаче като пробвах се получи следното:
1234
12345678
123456789098

Смисъл всеки следващ ред в таблицата е резултат на горния + нов код.

Та искам редовете да са толкова, колкото са и юзърите. Примерно имам 2 юзъра, редовете искам също да са 2 при изпълнение на заявката и да се получи следното:
user1 --- `asdf`, `0`, `празно`
user2 --- `fdsa`, `1`, `user2`

Стаан много оплетено обяснение... но се надявам да ме разберете, ако ли не ще се постарая да обясня по-подробно!
 
<?php
$query = " SELECT * FROM users";
$result = mysql_query($query) or die('Error, query failed');
while($row = mysql_fetch_array($result))
{
for($i = 0; $i < 9; $i++)
{
$string .= chr(rand(97,122));
}
$_SESSION['rand_code'] = $string;
mysql_query("INSERT INTO `table_codes` (`code`, `usecode`, `user`) VALUES ('$string', '0', '')");
echo "$string";
}
?>
 
За какво ползваш този цикъл for?
PHP:
<?php

$query = " SELECT * FROM users";
$result = mysql_query($query) or die('Error, query failed');
while ($row = mysql_fetch_array($result)) {
    for ($i = 0; $i < 9; $i++) {
        $string = chr(rand(97, 122));
    }
    $_SESSION['rand_code'] = $string;
    mysql_query("INSERT INTO `table_codes` (`code`, `usecode`, `user`) VALUES ('$string', '0', '')");
    echo "$string";
}
?>

С . присвояваш предишните записи.

Прочетох го над 10 пъти и всеки път разбирам нещата по различен начин. Можеш ли да обясниш малко по-подробно. :roll:
 
Aко няма "." ми изкарва всяка буква поотделно.

Искам да генерирам толкова уникални кодове, колкото са юзърите и тези кодове да ги вкарам в тази таблица.
 
Много сложна схема си измислил. Просто трябва да взимаш имената на потребителите и да ги криптираш с Md5 така ще има уникален код и не е необходима цялата схема. Ако все пак не искаш така кажи пак малко по-подробно в кое поле какво искаш да се запише.

Ако ги записваш по този начин на 500 потребител кода ще е най-малко 500 символа. :roll:
 
Идеята ми е тези "кодове" да са нещо като промо. Смисъл... генерирам ги, изпращам на всеки потребител по 1 код, потребителя да има срок от 24/48 часа през които да въведе кода в едно поле и да получи своя бонус.
 
PHP:
<?php
$query = " SELECT * FROM users";
$result = mysql_query($query) or die('Error, query failed');
while ($row = mysql_fetch_array($result)) {
    $user=$row['username'];
    $code=md5($user);
    mysql_query("INSERT INTO `table_codes` (`code`, `usecode`, `user`) VALUES ('$code', '0', '$user')");
    echo "$code";
}
?>

$row['username'] промени със данните на твоята база данни.

А съобщение изпращаш така.

PHP:
<?php
$q=mysql_query("SELECT * from table_codes");
while($do=mysql_fetch_assoc($q))
{
    $code=$do['code'];
    $user=$do['user'];
    $query=mysql_query("ЗАЯВКАТА ЗА ИЗПРАЩАНЕ НА СЪОБЩЕНИЕ КАТО $CODE E КОДА НА ПОТРЕБИТЕЛЯ А $USER ДО ПОТРЕБИТЕЛЯ");
}
?>

А да провериш дали кода е валиден когато потребителя отиде на линк...

index.php?a=code&codeid=$CODE

PHP:
<?php
$id=htmlspecialchars($_GET['codeid']);
$query=mysql_fetch_assoc(mysql_query("SELECT count(*) as broj from table_codes where code='$id'"));
if($query['broj']>0)
{
    //Изпълнява действието ако кода на потребителя е валиден
}
else
{
    //Изпълнява някакъв код ако кода не е валиден
}
?>
 
Ще се позанимавам малко утре да дооправя това-онова и ще едитна поста си или ще напиша нов, иначе твоята алтернатива ми допада :?: :?: :?:
 
Не знам дали някой го е казал прегледах само първите два поста. Ам пробвай след като пратиш заявката да занулиш променливата.
 

Back
Горе