NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - 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
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.

 
Odpovědět
18.7.2018 15:58
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í

 
Odpovědět
18.7.2018 16:14
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 ?

 
Odpovědět
12.10.2018 11:09
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í.

 
Odpovědět
4.1.2019 17:50
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?

 
Odpovědět
16.2.2019 22:25
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
16.2.2019 22:39
∞ ... 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.

 
Odpovědět
17.2.2019 9:49
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
17.2.2019 10:10
∞ ... 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...

 
Odpovědět
17.2.2019 10:23
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.

 
Odpovědět
21.2.2019 12:01
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.