Script nemaže nic z database

před 7 dny

Kureii
Člen | 3
+
0
-

Zdravím, začínám s nette a pokouším se vytvořit vlastní přihlašovací a ověřovací systém, když se nepřihlasíte s kodem z emailu do hodiny od založení tak se má záznam smazat. Vše funguje až na smazání řádku z databáse

function deleteUser()
            {
                sleep(30);
                $row = $this->database->fetch('SELECT * FROM users WHERE user_mail = ?',$mail);

                foreach ($row as $hodnost)
                    $hodnost = $hodnost->hodnost;
                foreach ($row as $id)
                    $id = $id->user_id;
                if ($hodnost == NULL)
                {
                    $delete = $this->database->query('DELETE FROM users WHERE user_id = ?', $id);
                }

            }

Vidíte tam někde problém proč by to nemělo fungovat ?

před 7 dny

Ondřej Kubíček
Člen | 408
+
0
-

a tu funkci spouštíš kde kde jak?
proč máš na začátku sleep na 30 sekund?
na ty foreach použij závorky blbě se to čte. V prvním foreach nastavíš $hodnost na poslední hodnotu z výběru, to je tak schválně?

Editoval Ondřej Kubíček (12. 8. 14:20)

před 7 dny

Kureii
Člen | 3
+
0
-

Funkce je v jiné public funkci která se spustí po registraci, sleep 30 s je tam kuli tomu popisovanému limitu ale nechce se mi čekat tak to neni hodina. Jo je to schválně princip ověření má být vygenerovaný kod je zaslaný na email a zapsaný do database, při prihlášení se zkontroluje jestli je hodnost null nabo vyplnena když bude null bude to chtít kod na ověření a pokud nebude tak nic. A po hodině se má zkontrolovat vytvořený záznam jestli je null nebo ne automaticky aby se případně smazal.

před 7 dny

Ondřej Kubíček
Člen | 408
+
+5
-

tak php nefunguje
php funguje tak, že se spustí, vykoná kod a umře, takže když se uživatel registruje, odešle nějaký form, pak se to dostane do této funkce a 30 sekund script čeká, takže uživateli se v prohlížeči furt točí načítací kolečko a nic se po tu dobu neděje

ideálně by sis měl napsat cron, který se bude pravidelně spouštět a kontrolovat to, v db máš určitě uložený čas do kdy ten kod platí

před 7 dny

Kureii
Člen | 3
+
0
-

Dobře diky