Redakčný systém v php 02

05.02.2002 19:44

Takže už sa môžeme poriadne pustiť do tvorby nášho RS. V tejto časti seriálu si vytvoríme skript, v ktorom budeme mať definované všetky potrebné funkcie a urobíme si kostru základnej stránky.

Ako prvé, si vytvoríme dva skripty. skript funkcie.php a funkciedb.php v tom prvom si definujeme html hlavičku a ďalšie funkcie a v druhom pripojenie k databáze.

funkciedb.php

definujeme si funkciu pripojiť, aby cely náš rs mal jednotne pripojenie k db a nemuseli sme to meniť na viacerých miestach, keby sa napr. menili jednotlivé parametre. <? function pripojit() { @$link = mysql_connect(\"server\",\"meno\",\"password\"); @$conn = mysql_select_db(\"databaza\"); // ak sa nepodarí pripojiť k databáze if (!$link || !$conn){   head(); //tuto funkciu si definujeme v skripte funkcie.php   echo \"DOSLO K CHYBE PRI POKUSE O PRIPOJENIE K DATABAZE\";   echo \"kontaktujte prosím admina >>> niekdo@nieco.sk\";   foot(); //vid. funkcie.php   exit; } } ?>a teraz príde funkcia na odpojenie databázy <? function odpojit() { MySQL_Error(); MySQL_Close(); } ?>to by bol cely skript funkciedb.php. nič ťažké. stačí iba poznať prácu s databázou na tej najnižšej úrovni. teraz prejdeme k skriptu funkcie.php

funkcie.php

definujeme funkciu, ktorá nám bude vypisovať vrch stránky. teda tradičné tagy <html><body> atd. pozrite si skript. pod nim je všetko pekne krásne vysvetlené. <? function head()    { echo \"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\"> <html><head> <link rel=\"stylesheet\" href=\"style.css\" type=\"text/css\"> <title>NAS SUPER RS</title> <meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1250\"> <META NAME=\"description\" CONTENT=\"toto je moj RS urobeny v php+mysql.......atd.\"> <META NAME=\"keywords\" CONTENT=\"RS, redakcny system, php, myslq, html, programovanie, develop,clanky, novinky, linky  atd...........\"></head> <basefont face=\"Verdana\" color=\"#ffffff\"> <body leftmargin=\"0\" topmargin=\"0\" marginheight=\"0\" marginwidth=\"0\" text=#ffffff link=\"#525A5A\" alink=\"White\" vlink=\"#525A5A\" bgcolor=\"#000000\" text=#ffffff>\"; } ?>Ako prvé sme deklarovali že ide o html dokument v. 4. tento riadok by mal obsahovať každý html dokument. V tretom riadku si môžeme includnut css štýly. Ak ich nepoužívate, môžete vynechať.
Pod párovým tagom <title> pomocou meta tagov najskôr definujeme znakovú sadu. (v tomto prípade windows-1250). V ďalšom meta tagu opíšeme našu stránku. Aby ju mohli rôzne vyhľadavače typu google, altavista najsť. To platí aj o poslednom meta tagu do ktorého si zasa vpíšeme slova, ktoré súvisia s našou stránkou. A teraz nasledujú parametre v tagoch v ktorých si zadefinujeme celý budúci vzhľad našej stránky. sú to tagy <basefont> <body>.

funkciu head by sme týmto ukončili. ešte si vytvoríme funkciu, ktorá nám bude stránku ukončievať.
bude to funkcia foot(); <? function foot()  //konec stranky {   echo \"</BODY></HTML>\"; } ?>to by zatiaľ stačilo. neskôr si do tohto skriptu budeme dávať viac a viac funkcii. ale to až pri ďalšom tvorení nášho RS. budú tam funkcie na úpravu dátumu, diakritiky, bodovania, tabuliek atd.
a môžeme prejsť na hlavnú stránku index.php. je to najhlavnejší skript z celého RS. Pretože do ňho sa budú vkladať všetky stránky. hlavná stránka bude rozdelené na 2 alebo 3 časti. ako budete chcieť. v ľavo bude menu. po kliknutí na nejaký odkaz v menu, sa stránka/článok/hocičo zobrazí v strede. ak budete chcieť môžete použiť aj 3. stĺpček. tento RS som sa rozhodol optimalizovať pre rozlíšenie 800x600. avšak nie je žiaden problém si to za 15 sec. upraviť na ľubovoľné rozlíšenie.

index.php (pozri komentáre) <? ob_start(); //tuto funkciu použijeme preto, aby sme mohli pracovať s cookies aj po poslaní headers. require \"./funkciedb.php\"; //pripojíme funkcie potrebné na pripojenie k databaze require \"./funkcie.php\";  //pripojíme ostatné  funkcie pripojit(); //tímto sa pripojíme k databáze definovanej v funkciedb.php head(); //vypišeme hlavičku stránky definovanej vo funkcie.php ?> <!-- vrchna cast. v tejto časti sa môže nachádzať napr. naše logo--> <table align=center cellpading=3> <tr><td> <a href=\"./index.php\"><img src=\"img/logo.gif\" alt=\"LOGO\" width=\"700\" height=\"92\" border=\"0\" align=\"left\"></a> </td><td width=68></td></tr> </table> <!-- takze HLAVNA CAST. táto čast je rozdelená na 3 stĺpce. --> <TABLE align=center border=0 cellPadding=3 cellSpacing=0 width=780> <!--lavy stlpec z hlavnej casti, ciže MENU--> <TR><TD valign=top width=\"160\"> <? //MENU. všetko čo napíšeme tu, sa nám zobrazí v ľavom stlpci require \"./skripts/menu.php\"; //takto si pripojíme skript, ktorý nám vypíše menu. viď. ďalej ?> <br> </td> <!-- stredny stlpec z hlavnej casti--> <td valign=\"top\"> <? //do tohto stĺpca sa budu includovať všetky ostatné stránky, články, proste všetko /* teraz prichádza dôležitá časť. touto podmienkou if si zabezpečíme, že všetky stránky na ktoré odkazy klikneme sa nám includnú do stredu. skúsenejší už určite tušia ako bude teda vyzerať odkaz, aby sa nám jeho výsledok vložil do vnútra. <a href=\"index.php?b=nieco\">stránku nieco.php DO STREDU</a>  celé to funguje veľmi jednoducho. chceme stránku nieco.php vložiť do stredu. odkážeme sa na index.php a v url mu predáme premennú $b. (?b=nieco). skript skontroluje, či existuje premenná $b. ak áno, tak overí či takýto súbor existuje v adresári skripts a pripojí ho. sám pridá na jej koniec .php. jedinou podmienkou je že skript niečo.php musí byť uložený v súbore skripts. ale to hádam všetci už pochopili. ale ak premenná $b neexistuje. čo je aj v prípade že na stránku prichádzame prvý raz, resp. zobrazí sa nám index.php. vykoná sa podmienka else. číže vloží to, čo by sme chceli vydier v strede hneď po načítaní stránok. môže to byť napr. výber najnovších 10 článkov, novinky, alebo aj obyčajné uvítanie. */    if (($b != \"\")&&(file_exists(\"skripts/\".$b.\".php\"))){       include \"skripts/\".$b.\".php\";       } //tato moznost sa vypise, ked na nic neklikneme. teda hned po nacitani stranky. vid. vizsie else{ require \"./skripts/vyber.php\"; require \"./skripts/newarticle.php\"; } ?> <!-- pravy stlpec z hlavnej casti--> <TD valign=top width=\"1\"> <? //ak by sme stránku chceli mať rozdelenú na 3 časti, zväčšíme parameter width v tagu <td> na //požadovanú veľkosť. a pripojíme, si skript, obrázok proste to čo tak chceme mať //require \"./skripts/cochcemematv3stlpci.php\"; //nakoniec sa odpojíme z databázy funkciou ktorú sme si definovali v funkciedb.php odpojit(); //ešte vypíšeme tagy ktoré nám ukončia tabuľky echo \" </TD></TR></TABLE> </td></tr></table>\"; //tak isto vypíšeme koniec stránky. foot(); ?> to by bolo hádam aj všetko. nabudúce si vytvoríme štruktúru tabuliek na menu. a aj skript, ktorý nám bude vypisovať, editovať, pridávať alebo mazať položky v menu. a uvediem vás do problematiky pridávania / mazania / editovania článkov.mis0 truban