Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!
Zadejte Vaši e-mailovou adresu:
Kamarád fotí rád?
Přihlas ho k odběru fotomagazínu!
Zadejte e-mailovou adresu kamaráda:
PHP
Interní vzkazy - III
redakcni system
10. října 2002, 00.00 | Další díl "nekonečného" seriálu o Redakčním systému. Dnes dokončíme interní vzkazy a podíváme se ještě na nějaké opravy..
Pro dnešek nám tedy zbývá script cist.php. Ještě před tím se ale vrátím ke scriptu vzkazy_cist.php. Je to reakce na poznámku Pavla Treutnera, za kterou mu tímto děkuji.Upozornil mě na to, že pokud odešle dvakrát ten samý uživatel pokyn k smazání zprávy, smaže se na trvalo bez ohledu na názor druhé strany. Řešení je poměrně jednoduché. Podmínka pro mazání zpráv pak bude vypadat takto:
|
Bohužel, moje nepozornost ovlivní i změnu scriptu menu.php. SQL dotaz musíme změnit na tento:
|
Ptáte se proč? Je to z jednoduchého důvodu. Tento dotaz funguje i v případě, že příjemce zprávu smaže ještě než si jí přečte. V takovém případě ale zůstává v položce stav hodnota 'n' a SQL dotaz by nepracoval tak jak chceme. Tím, že přidáme zeleně označenou část, se tento nedostatek odstraní.
Přidám ještě jednu takovou užitečnou věcičku. Možná vás obtěžuje, když jste si všechny vzkazy přečetli a přes to tam stále máte hlášku o nových zprávách. Postačí na to jednoduchý javascript, který při kliku na nějaký odkaz reloadne stránku. Možná si říkáte, že reloadovat stránku při každém kliku je zbytečné, ale i tento nedostatek je odstraněn. Podívejme se na to.
|
Jak vidíme, zeleně je označena nová část. V první části máme podmínku, která nám vyřeší situaci, kdy žádné nové zprávy nemáme. Pokud ale nějaké jsou, na určené místo (druhá zelená část v odkazu), se umístí Javascript, který zajistí reload stránky. Použití podmínky je na vás. Pokud ji použijete, zmizí vám hláška, ale nezobrazí se upozornění na nové zprávy, které přijdou v době, kdy je uživatel přihlášen.
Poslední oprava je znovu ve scriptu vzkazy_cist.php a je u výběru zpráv. Tuto část nechávám bez komentáře, neboť rozdíly jistě pochopíte sami.
|
Konečně se dostáváme ke scriptu cist.php. Je velice podobný tomu, pomocí kterého tiskneme. Tady je:
|
Na začátku provedeme klasické procedury jako načtení scriptů či autorizace. Následně vybereme zprávu z databáze a nastavíme ji jako přečtenou. Pomocí položky výsledku, kde máme id odesílatele (od_id), zjistíme z tabulky autori jeho jméno. Dále zobrazíme předmět a následně samotnou zprávu, kde konce řádek převedeme na znaky <BR>(funkce nl2br()). V další položce zobrazíme předmět vzkazu, na který tato zpráva reaguje. Ten zjistíme pomocí položky odpoved_id, kterou máve ve výsledku pod číslem 6. Následuje již jen odkaz, pomocí kterého odpovíme na tuto zprávu odesílateli.
To je pro dnešek vše. Příště začneme vzkazy, ale tentokrát od čtenářů k autorům.
Obsah seriálu (více o seriálu):
- Redakční systém I.
- Redakční systém II.
- Redakční systém III.
- Redakční Systém IV.
- Redakční systém V.
- Redakční systém VI.
- Redakční systém VII.
- Redakční systém VIII
- Redakční systém - tisk
- Redakční systém - generování
- Redakční systém - generování II.
- Redakční systém - generování III.
- Redakční systém - generování IV
- Redakční systém - generování V.
- Redakční systém - krátké zprávy a CSS styly
- Upload obrázků
- Upload - II a logout
- Schvalování článků - II
- Dodatečné přidání obrázku
- Regulární výrazy I
- Regulární výrazy II
- Redakční systém: Fulltext - I.
- Fulltext - II
- Co s RS?
- Optimalizace databáze v RS
- Interní vzkazy - I
- Interní vzkazy - II
- Interní vzkazy - III
- Náměty od čtenářů - I
- Náměty od čtenářů - II
- Náměty od čtenářů - III
- Náměty od čtenářů - IV
- Náhrada FTP
- Ankety
-
25. listopadu 2012
-
30. srpna 2002
-
10. října 2002
-
4. listopadu 2002
-
12. září 2002
-
25. listopadu 2012
-
28. července 1998
-
31. července 1998
-
28. srpna 1998
-
6. prosince 2000
-
27. prosince 2007
-
4. května 2007