Válí se ti projekty v šuplíku? Dostaň je mezi lidi a získej cool tričko a body na profi IT kurzy v soutěži ITnetwork summer 2017!
Přidej si svou IT školu do profilu a najdi spolužáky zde na síti :)
Avatar
Michal Kuba
Redaktor
Avatar
Michal Kuba:12.4.2015 14:52

Zdravím.
Mám takovýto kontroler pro přidávání inzerátu:

class PodatinzeratKontroler extends Kontroler {
    public function zpracuj($parametry){


        $spravceInzeratu= new SpravceInzeratu();
        $spravceUzivatelu = new SpravceUzivatelu();
        $uzivatel = $spravceUzivatelu->vratUzivatele();
        $this->hlavicka = array(
                        'titulek' => 'Podat inzerát - Mainos.cz',
                        'klicova_slova' => 'podat inzerát, inzerát, mainos.cz, inzeráty zdarma',
                        'popis' => 'Přidání nového inzerátu na web Mainos.cz'
                );
        $this->pohled = 'podatinzerat';

        $inzerat = array(
                        'ID' => '',
                        'titulek' => '',
                        'text' => '',
                        'kategorie' => '',
                        'upresneni' => '',
                        'mesto' => '',
                        'autor' => '',
                );

        if ($_POST)
                {


                        $klice = array('titulek', 'obsah', 'kategorie', 'upresneni', 'mesto', 'autor');
                        $inzerat = array_intersect_key($_POST, array_flip($klice));
                        // Uložení článku do DB
                        $spravceInzeratu->ulozInzerat($_POST['ID'], $inzerat);
                        $this->pridejZpravu('Inzerát byl úspěšně uložen.');
                        $this->presmeruj('nejnovejsi');
                }
    }
}
}

A potřebuji do něj vložit podmínku, která vlastně nepustí na přidávání inzerátů uživatele, který není přihlášený. Vypadá takto:

if (!isset($_SESSION['jmeno']))
{
        header('Location: prihlaseni');
        $this->pridejZpravu('Pro vložení inzerátu se musíte přihlásit.');
        exit();
}

Ať ji ale vložím kamkoliv a jsem přihlášený, vždy mě to přesměruje na přihlášení resp. administraci, když jsem se již přihlásil. Nevíte co s tím? Nebo to mám dávat někam do modelu? to je blbost ne?

 
Odpovědět 12.4.2015 14:52
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na Michal Kuba
Inoue Yūki:12.4.2015 15:15

Chceš říct, že se ta podmínka vykoná, i když $_SESSION["jmeno"] není nastavený? Jinak určitě do kontroleru. :)

Editováno 12.4.2015 15:16
Nahoru Odpovědět 12.4.2015 15:15
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na Inoue Yūki
Michal Kuba:12.4.2015 15:20

Je to myšleno tak, že pokud v SESSION není jméno (nebo id uživatele, to je fuk podle mě) tak se to přesměruje na přihlášení. Takhle mi to fungovalo na mé předchozí verzi webu, kde nebylo MVC -> dal jsem tu podmínku na začátek php skriptu stránky a bylo.

 
Nahoru Odpovědět 12.4.2015 15:20
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Michal Kuba
IT Man:12.4.2015 15:29

A nemá tam být $_SESSION["uzi­vatel"] (v minulé diskuzi jsi to ukládal do něj)?

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 12.4.2015 15:29
Cokoliv a kdokoliv může jednou uspět.
Avatar
Michal Kuba
Redaktor
Avatar
Odpovídá na IT Man
Michal Kuba:12.4.2015 15:32

No jo, máš pravdu.. napadlo mě, jak jsem i koukal na ten kód uložit porovnávat SESSION nějak s uživatelem, ale měl jsem tam furt tu proměnnou a ne uvozovky :) Díky

 
Nahoru Odpovědět 12.4.2015 15:32
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 5 zpráv z 5.