Hvis du gerne vil opnå genbrugelighed, er du nødt til at gå væk fra kun HTML. Du kan skal formentlig over i noget PHP, hvor du kan behandle dine data sendt via HTML, og herefter gemme dem i en database. En anden mulighed er at benytte noget Javascript. Du kan oprette en XML fil, med f.eks. følgende struktur
- <?xml version="1.0" encoding="UTF-8"?>
- <nyhedssystem>
-
- <nyhed>
- <id>1</id>
- <author>Martin Rohwedder</author>
- <date>19-02-2012</date>
- <overskrift>Min Første Nyhed</overskrift>
- <tekst>Dette er min allerførste nyhed!</tekst>
- </nyhed>
-
- <nyhed>
- <id>2</id>
- <author>Martin Rohwedder</author>
- <date>19-02-2012</date>
- <overskrift>Min Anden Nyhed</overskrift>
- <tekst>Dette er min anden nyhed! Vidste du at jeg gemte nyheden via XML, og herefter læste denne via javascript?</tekst>
- </nyhed>
-
- <!-- Du kan nu tilføje nye nyheder dernedaf, enten manuelt eller med et CMS system skrevet i f.eks. php -->
-
- </nyhedssystem>
Du kan så læse XML filen med f.eks. javascript, du kan f.eks. læse en metode til hvordan du gør dette her -
http://www.sitepoint.com/server-side-xml-javascript/. Du kan dog også læse filen med PHP hvis du hellere vil dette.
Vil dog sige at du skal benytte et PHP system, hvis du gerne vil slippe for at oprette nye sider hver gang, da du kan benytte såkaldte argumenter i adresselinjen. F.eks. kan du skrive www.minhjemmeside.dk/nyhed.php?id=1, og du har nu givet et argument der hedder id = 1. Du kan nu bruge f.eks. PHP til at læse XML, filen også læse denne nyhed med ID = 1. Er dog ikke helt sikker på om du kan gøre det samme med javascript, men det kan du måske nok.
Måden jeg ville gøre det på, var at lave denne XML fil, og jeg kan nu indsætte en ny nyhed i denne hver gang jeg skal bruge dette. Jeg vil så med PHP oprette en side kaldet nyhed.php, der har disse linje i sig
- <?php
- //Url til min xml fil
- $url = 'http://www.minhjemmeside.dk/news_xml.xml';
-
- //Tjek om vi har et id argument i vores addresselinje.
- if ( isset($_GET['id']) )
- {
- $news_id = $_GET['id'];
- }
- else
- {
- //Udskriv en siden kan ikke findes besked.
- }
- ?>
Længere nede i min nyhed.php fil, kan jeg så bruge en funktion der hedder simplexml_load_file( url_to_xml ), og denne vil returnere indholdet i min XML fil som et array. Jeg kan så læse hver node i min XML fil som elementer i mit array.
- <?php
- if ( isset($news_id) ) {
- $xml = simplexml_load_file( $url );
-
- for ($i = 0; $i < count( $xml ); $i++) {
- if ($xml->nyhed[ $i ]->id == $news_id) {
- $headline = $xml->nyhed[ $i ]->overskrift;
- echo $headline;
- }
- }
- }
- ?>
Indlæg senest redigeret d. 19.02.2012 09:54 af Bruger #4487