Autor Zpráva
Nogod
Profil *
Chtěl bych poprosit o radu.
Po přihlášení do administrace chci, aby mohl každý uživatel upravovat příspěvky, které vložil pouze on (každý příspěvek má druhé IČ podle uživatele, který ho tam vložil). Ale nevím, jak to mám filtrovat. Pracuji s PHP a MYSql a Dreamweaveru 8. (uživatel se přihlásí - vypíší se mu pouze jeho příspěvky - a pouze s nima může pracovat). Děkuji za každou radu, či odkaz (sám jsem nic nenalezl).
krteczek
Profil
id uživatele drž v session a u všech možností editace ověřuj že je tento uživatel oprávněn s tím konkrétním článkem pracovat
to znamená v dotazu na vypsání jeho článkůnezapomeň na podmínku (výběr):

$dotaz = "SELECT * FROM `clanky` WHERE `clanky_id_autora`=" . ((id)$_SESSION['user_id']) . " ORDER BY `clanky_id` DESC";

nebo změna:

$dotaz = "UPDATE `clanky` SET `clanky_nazev`='" . addslashes($nazev) . "', `clanky_obsah`='" . addslashes($obsah) . "' WHERE `clanky_id`=" . $idclanku . " AND `clanky_id_autora=" . ((int)$_SESSION['user_id']) ;

Takhle nějak bych to řešil já... jde o to aby nemohl změnit článek někoho jiného. Pokud se jedná o admina který by měl mít právo zobrazit/upravit jakýkoliv článek tak bys asi musel rozlišovat (opět v session) jestli je dotyčný admin a pro něj sestavit dotaz jiným způsobem...
krteczek
Profil
PS: Ty zdlouhavé názvy sloupců tabulek s uváděním názvu tabulky jsou kvůli snadné identifikaci o jaký sloupec v jaké tabulce se jedná... možná zdlouhavé ale u rozsáhlejších projektů velice výhodné...
krteczek
Nogod
Profil *
Děkuj, hned to vyzkouším.
Nogod
Profil *
Tak mi to hlásí tuhle chybu, asi jsem na to šel špatně. Parse error: syntax error, unexpected T_VARIABLE in
Nogod
Profil *
Možná jsem správně nepochopil výraz id uživatele drž v session[b][/b].Děkuji
krteczek
Profil
po ověření přihlašovacích údajů přece nějak přenášíš informace o přihlášení uživatele. Nejlepší je to dělat přes sessions, předpokládám že každý uživatel má kromě jména i id v tabulce uživatelů.a to je třeba spolu s jeho právy (které by měli být také v té tabulce) a tyto údaje si uložíš do session. No a potom je jen při vytahování/zobrazování/úpravě dat v databázi použiješ pro selekci toho co kdo může dělat
krteczek
krteczek
Profil
Jo a ta chyba jev zapomenutém `:


$dotaz = "UPDATE `clanky` SET `clanky_nazev`='" . addslashes($nazev) . "', `clanky_obsah`='" . addslashes($obsah) . "' WHERE `clanky_id`=" . $idclanku . " AND `clanky_id_autora`=" . ((int)$_SESSION['user_id']) ;


krteczek
Nogod
Profil *
No tak to bude asi ono, jak to uložit do sessions. Ještě jsem to nikdy nepoužíval.
krteczek
Profil
Nogod: hledej tady v diskuzi, už jednou jsem tu něco takového dával (přihlašování)
krteczek
Toto téma je uzamčeno. Odpověď nelze zaslat.

0