NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Problém s pridaním autorovho mena a id k článku.

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
michal.smatlak:15.10.2017 20:25

Zdravím. Potrebujem poradiť. Na mojej stránke si chcem do editora článkov pridať aj meno a id autora ktorý daný článok vytvára. Do súboru EditorController som si pridal:

$managerUsers = new ManagerUsers();
$user = $managerUsers->returnUser();
$this->data['author'] = $user['name'];
$this->data['author_id'] = $user['users_id'];

$review = array(
              'reviews_id' => '',
              'author_id' => '',
              'author' => '',

if ($_POST)
                {
                 $keys = array($author_id, $author, 'title', 'content', 'url', 'description', 'keywords');
                 $review = array_intersect_key($_POST, array_flip($keys));

do pohľadu editor kde mám formulár som dal:

<input type="hidden" name="author_id" value="<?= $review['author_id'] ?>" />
<input type="hidden" name="author" value="<?= $review['author'] ?>" />

ale keď dám uložiť nový článok tak do databázy sa parametre author_id a author nevložia.
Poraďte mi prosím Vás kde môžem mať chybu.
Za všetky rady vopred ďakujem.

 
Odpovědět
15.10.2017 20:25
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovídá na michal.smatlak
Jan Lupčík:15.10.2017 21:03

Nejsem si jistý, ale $keys by měly vypadat takto:

$keys = array('author_id', 'author', 'title', 'content', 'url', 'description', 'keywords');
Nahoru Odpovědět
15.10.2017 21:03
TruckersMP vývojář
Avatar
Odpovídá na michal.smatlak
Dominik Gavrecký:15.10.2017 21:33

Vobec to nie je správny postup ... ID užívateľa vieš použiť cez cudzie kľúče a jeho meno si následne vytiahnuť ... Nenepada ma dovod prečo by si ho ukladal k článku

Nahoru Odpovědět
15.10.2017 21:33
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Dominik Gavrecký
michal.smatlak:16.10.2017 17:54

To id chcem preto aby následne mohol užívateľ upravovať len články ktoré vytvoril a meno chcem použiť v zozname článkov aby bolo jasné kto vytvoril ktorý článok. Preto chcem tieto dva údaje uložiť k článku.

 
Nahoru Odpovědět
16.10.2017 17:54
Avatar
Odpovídá na michal.smatlak
Dominik Gavrecký:16.10.2017 18:29

ID pochopiteľne ulož ale meno určite nie ... Meno si vytiahni cez cudzí kľúč hod si do Google a budeš vedieť co myslím

Nahoru Odpovědět
16.10.2017 18:29
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Jan Lupčík
michal.smatlak:16.10.2017 20:52

Skúsil som upraviť keys tak ako si napísal ale stále to nefunguje.

 
Nahoru Odpovědět
16.10.2017 20:52
Avatar
michal.smatlak:16.10.2017 21:05

Skúsil som do pohľadu dať <?= $author_id, $author ?> a všetko funguje tak ako má: do pohľadu vypísalo id a meno aktuálne prihláseného užívateľa. Takže myslím si že v Tejto časti:

$managerUsers = new ManagerUsers();
$user = $managerUsers->returnUser();
$this->data['author'] = $user['name'];
$this->data['author_id'] = $user['users_id'];

problém nie je.

Editováno 16.10.2017 21:06
 
Nahoru Odpovědět
16.10.2017 21:05
Avatar
Nahoru Odpovědět
16.10.2017 21:10
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
Avatar
Odpovídá na Dominik Gavrecký
michal.smatlak:16.10.2017 21:28

Ja ťa chápem, ale čo som pozeral tak píšu, že údaj ktorý vyťahuješ z tabuľky musí byť jej primárnym kľúčom napríklad keď chcem meno užívateľa z tabuľky užívatelia tak meno musí byť primárnym kľúčom tabuľky užívatelia ale ja mám nastavený primárny kľúč na uživatelia_id

 
Nahoru Odpovědět
16.10.2017 21:28
Avatar
Odpovídá na michal.smatlak
Dominik Gavrecký:16.10.2017 23:36

Tak pre príklad máš tabuľku users ktorá vyzerá asi nejako takto:

id username password
5 Smatlak ultra_tajne_hes­lo_ktoré_neza­budni_hashovať

a rovnako máš tabuľku articles alebo news ktorá vyzerá nejako takto:

id title user_id
1 Už aj tvoj router... 5

Samozrejme ID bude int a bude auto increment a tým pádom aj primary v oboch tabuľkách a user_id označíš ako index.

A neostáva nič viac ako vytvoriť väzbu medzi nimi ...

Editováno 16.10.2017 23:36
Nahoru Odpovědět
16.10.2017 23:36
Hlupák nie je ten kto niečo nevie, hlupákom sa stávaš v momente keď sa na to bojíš opýtať.
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 10.