NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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
Josef Kuchař - Pepa489:30.3.2014 20:46
Vítejte v administraci, jste přihlášeni jako admin
Nemáte administrátorská oprávnění, požádejte administrátora webu, aby vám je přidělil.
:D
Odpovědět
+6
30.3.2014 20:46
2x piš, jednou debuguj
Avatar
Jiří Jeřábek (thechorcheecz):13.4.2014 22:57

Zdravím, mám tu problém s vypsání chybové hlášky jako je

'Chybně vyplněný antispam.'

a

'Hesla nesouhlasí'

prostě se to nevypíše, když to zadám naschvál špatně. Zkoušel jsem to vypsat přes echo, ale taky nefungovalo. Při zadání správně tak funguje. Díky

 
Odpovědět
+1
13.4.2014 22:57
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
Neaktivní uživatel:14.4.2014 20:59

Tak nám ukaž tvůj php kód, tenhle z devbooku totiž funguje úplně normálně.

Odpovědět
14.4.2014 20:59
Neaktivní uživatelský účet
Avatar
Jiří Jeřábek (thechorcheecz):16.4.2014 20:48

PHP kód mám odsud, úplně stejnej tak nevím, nic jsem neměnil.

<?php
session_start();
require('Db.php');
Db::connect('127.0.0.1', 'ners_db', 'root', '');

if ($_POST)
{
        if ($_POST['rok'] != date('Y'))
                $zprava = 'Chybně vyplněný antispam.';
        else if ($_POST['heslo'] != $_POST['heslo_znovu'])
                $zprava = 'Hesla nesouhlasí';
        else
        {
                $existuje = Db::querySingle('
                        SELECT COUNT(*)
                        FROM uzivatele
                        WHERE jmeno=?
                        LIMIT 1
                ', $_POST['jmeno']);
                if ($existuje)
                        $zprava = 'Uživatel s touto přezdívkou je již v databázi obsažen.';
                else
                {
                        Db::query('
                                INSERT INTO uzivatele (jmeno, heslo)
                                VALUES (?, SHA1(?))
                        ', $_POST['jmeno'], $_POST['heslo'] . "t&#ssdf54gh");
                        $_SESSION['uzivatel_id'] = Db::getLastId();
                        $_SESSION['uzivatel_jmeno'] = $_POST['jmeno'];
                        $_SESSION['uzivatel_admin'] = 0;
                        header('Location: administrace.php');
                        exit();
                }
        }
}
?>
 
Odpovědět
16.4.2014 20:48
Avatar
Mazwor
Člen
Avatar
Mazwor:18.7.2014 22:49

Ahoj,
nerad bych otravoval zbytečnostmi (a drobnostmi), ale rád bych si ujasnil, zda dané problematice rozumím.
Bylo by možné poslední PHP kód napsat v opačném pořadí, a díky tomu do druhé podmínky už zadat pouze session_destro­y();? Myslím to tak, že by se u první podmínky (v případě cíleného odhlášení) vymazala data ze $_SESSION, tudíž by odhlášení způsobila přímo druhá podmínka, říkám to správně?
Předem díky za odpovědi a za pomoc :).

Ten myšlený kód bych zapsal takto:

<?php
session_start();
if (isset($_GET['odhlasit']))
{
        session_destroy();
}
if (!isset($_SESSION['uzivatel_id']))
{
        header('Location: prihlaseni.php');
        exit();
}
?>
Editováno 18.7.2014 22:50
Odpovědět
18.7.2014 22:49
Pořádek je pro blbce, inteligent ovládá chaos. :D
Avatar
mmartinssedlacek:24.8.2014 12:08

pozri sa, ci mas spravne nastavene vypisanie if(isset($sprava)) echo($sprava);

 
Odpovědět
24.8.2014 12:08
Avatar
N-nojmi
Člen
Avatar
Odpovídá na Jiří Jeřábek (thechorcheecz)
N-nojmi:18.9.2014 15:33

Mám stejný problém, jak si to vyřešil?

Odpovědět
18.9.2014 15:33
Není hloupých lidí, jen lidí co málo používají google...
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na N-nojmi
Jan Lupčík:18.9.2014 15:50

Zadáváš tam

require('Db.php');

?

Odpovědět
18.9.2014 15:50
TruckersMP vývojář
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na N-nojmi
Jan Lupčík:18.9.2014 15:50

Omlouvám se za double post. Ještě mě napadá - nezapomněl jsi tam napsat

echo $zprava;

?

Editováno 18.9.2014 15:51
Odpovědět
18.9.2014 15:50
TruckersMP vývojář
Avatar
N-nojmi
Člen
Avatar
Odpovídá na Jan Lupčík
N-nojmi:18.9.2014 16:12

Tohle je můj kód:

<?php
            session_start();
            require('Db.php');
            Db::connect('127.0.0.1', 'redakcni_system_db', 'root', '');

            if ($_POST)
            {
                    if ($_POST['rok'] != date('Y'))
                            $zprava = 'Chybně vyplněný antispam.';
                    else if ($_POST['heslo'] != $_POST['heslo_znovu'])
                            $zprava = 'Hesla nesouhlasí';
                    else
                    {
                            $existuje = Db::querySingle('
                                    SELECT COUNT(*)
                                    FROM uzivatele
                                    WHERE jmeno=?
                                    LIMIT 1
                            ', $_POST['jmeno']);
                            if ($existuje)
                                    $zprava = 'Uživatel s touto přezdívkou je již v databázi obsažen.';
                            else
                            {
                                    Db::query('
                                            INSERT INTO uzivatele (jmeno, heslo)
                                            VALUES (?, SHA1(?))
                                    ', $_POST['jmeno'], $_POST['heslo'] . "t&#ssdf54gh");
                                    $_SESSION['uzivatel_id'] = Db::getLastId();
                                    $_SESSION['uzivatel_jmeno'] = $_POST['jmeno'];
                                    $_SESSION['uzivatel_admin'] = 0;
                                    header('Location: administrace.php');
                                    exit();
                            }
                    }
            }
            ?>
Odpovědět
18.9.2014 16:12
Není hloupých lidí, jen lidí co málo používají google...
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.