POUZE NYNÍ: Získej až 80 % extra kreditů ZDARMA na náš interaktivní e-learning. Zjistit více.
NOVINKA: Staň se datovým analytikem od 0 Kč a získej jistotu práce, lepší plat a nové kariérní možnosti. Více informací:

Diskuze – Lekce 5 - NERS - Registrace uživatelů v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Nejnovější komentáře jsou na konci poslední stránky.
Avatar
Odpovídá na Jan Tesař
Martin Kolář:18.7.2018 15:58

V případě PHP dojde ke zpracování na serveru. Prohlížeč uživatele pak zobrazí stránku vygenerovanou na serveru pomocí PHP.

Avatar
Jan Tesař
Člen
Avatar
Odpovídá na Martin Kolář
Jan Tesař:18.7.2018 16:14

Děkuji, měl jsem napřed podívat, co se zobrazuje při prozkoumání

Avatar
Martin Bušek:12.10.2018 11:09

Zdravím používám Db wrapper k připojeni k DB jak je popsáno v článku, řeším situaci že potřebuji načíst data z databáze (DB1) a poté načíst data z úplně jiné databáze (DB2). Nevím jak to technicky vyřešit. Jestli prvni načíst jedny data, odpojit se od DB1 a připojit se k DB2? Nebo se připojit současně k oboum dvoum ?

Poradí někdo ?

Avatar
znch
Člen
Avatar
znch:4.1.2019 17:50

Ahoj Davide, měl jsem na webhostingu nastavenu starší verzi PHP, která password_hash() neumí, zvládnul to crypt(), teď už to mám ve webhostingu změněné. Mohl bys to v článku začátečníkům, jako jsem já, sdělit, že password_hash() to umí jen u vyšších verzí, jinak hlásí chybu? Díky za skvělý kurz, moc mě baví.

Avatar
Adam Bouček
Člen
Avatar
Adam Bouček:16.2.2019 22:25

Dobrý den, mám problém, předchozí přidání uživatele bylo bez problému ale toto mi hlásí tuto chybu, nevíte někdo, co s tím?

Avatar
Odpovídá na Adam Bouček
Tomáš Novotný:16.2.2019 22:39

ahoj, napadá mne toto... v souboru Db.php na řádku 60 máš v poli uveden sloupec 'heslo', který patrně není přítomen v tabulce na kterou se dotazuješ.. případně máš-li v dotazu JOIN nenašel sloupec 'heslo' ani tam.. více se dá říci, pokud nasdílíš příslušný kód

Odpovědět
∞ ... the exact amount of possibilities how to deal with the situation ... so by calm, your solution is one of many
Avatar
Adam Bouček
Člen
Avatar
Odpovídá na Tomáš Novotný
Adam Bouček:17.2.2019 9:49

Ahoj, děkuji za odpověď, problém s registrací jsem vyřešil ale pro změnu nejde se přihlásit... Na jiném počítači funguje v pohodě, zde mi to blbne. Nejspíš bude opět problém v databázi. Za případnou odpověď moc děkuji.

Avatar
Odpovídá na Adam Bouček
Tomáš Novotný:17.2.2019 10:10

.. obdobná chyba na stejném řádku, jen nyní jde o sloupec 'uzivatele_id' patrně překlep a má být 'uzivatel_id'

Odpovědět
∞ ... the exact amount of possibilities how to deal with the situation ... so by calm, your solution is one of many
Avatar
Adam Bouček
Člen
Avatar
Odpovídá na Tomáš Novotný
Adam Bouček:17.2.2019 10:23

Děkuji moc, aspoň už vím na co se více dívat...

Avatar
Martin Havelka:21.2.2019 12:01

Ahoj, zkouším si jednoduchou web aplikaci podle tutoriálu. Je to jen trochu upravená verze, nicméně nedokážu přijít na to, kde je problém. Vše funguje, PHP na mě kvůli žádné chybě nekřičí, kód doběhne do konce a přesměruje na další stránku až na to, že do databáze se prostě nic nevloží. Také mě zde překvapila jedna věc, a to že když používám otazníky a dosazuji proměnné do příkazu přes ně, nechybí tam uvozovky? Když si to zkouším provést v phpMyAdmin bez nich tak mi to hází chybu, ale tady v tutoriálu to očividně funguje jak má tak nevím. :-?
Každopádně přikládám kód aplikace, třeba si nějaké chyby někdo všimne. Děkuji za odpovědi :-).

<?php
   session_start();
require('Db.php');
Db::connect("localhost", "game", "root", "");

if ($_POST)
{

        if ($_POST['password'] != $_POST['password_again'])
                $message = 'Passwords do not match!';
        else
        {
                $exists = Db::querySingle('
                        SELECT COUNT(*)
                        FROM players
                        WHERE name=?
                        LIMIT 1
                ', $_POST['username']);
                if ($exists)
                        $message = 'User with this name already exists.';
                else
                {
                        $hash = password_hash($_POST['password'], PASSWORD_DEFAULT);
                        Db::query('INSERT INTO players (name, password) VALUES (?, ?)', $_POST['username'], $hash);
                        $_SESSION['user_id'] = Db::getLastId();
                        $_SESSION['user_name'] = $_POST['username'];
                        header('Location: main.php');
                        exit();
                }
        }
}
?>

PS: První části kódu včetně zjišťování jestli uživatel existuje a ošetření stejnosti hesel funguje, proto nepřikládám html část, kde jsou jen inputy.

Nejnovější komentáře jsou na konci poslední stránky.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 138.