120 likes | 245 Views
Dag 2 varekatalog. Broadcast: http://123beam.com session-id 159-199-272 (samme session-id hver gang) Formiddagens arbejde: http://eshop.keaweb.dk/eshop/eshop1.php Udgangspunkt i filer fra Fronter-mappen. Program for Dag 2. En class til vare oprettes Et array til varekataloget oprettes
E N D
Dag 2varekatalog Broadcast: http://123beam.com session-id 159-199-272 (samme session-id hver gang) Formiddagens arbejde: http://eshop.keaweb.dk/eshop/eshop1.php Udgangspunkt i filer fra Fronter-mappen
Program for Dag 2 • En class til vare oprettes • Et array til varekataloget oprettes • Varer til varekataloget oprettes og lægges i kataloget • En udskrivningsfunktion til varekataloget oprettes • Kald af udskrivningsfunktionen på det rigtige sted i html-koden • FROKOST : 12.00 – 12.30 • Grupperne arbejder med egen case 310112 helf KEA
Forberedende arbejde Før vi går i gang, skal I oprette en webside og en css-fil til formiddagenes simple case. Jeg har allerede lavet koden – den ligger på Fronter sammen med casens billeder. Opret de to filer i Komodo og upload dem til jeres personlige domæne, så I er klar til de tilføjelser, vi skal igennem i dag. Læg billederne i en img-mappe, så de ligger for sig selv. 310112 helf KEA
Opbygning <?php // Opret en klasse, som beskriver en vare: Class Vare{} // Opret en funktion, som kan udskrive varekataloget: functionlist_katalog(){} // Opret katalog: $katalog=Array(); // opret varer som objekter af Class vare og læg dem i $katalog ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>eshop</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="wrapper"> <div id="main"> <?php //Udskriv kataloget: list_katalog(); ?> </div> <div id="kurv"> her kommer kurven... </div> </div> </body> </html> Læg php-koden ind i eshop-filen
Class Vare Class Vare{ public $vnr=""; public $navn=""; public $billede=""; public $pris=""; public $beskrivelse=""; function udskriv(){ //indholdet af funktionen kommer vi nærmere ind på! } } Læg koden ind i filen i stedet for kommentarlinjen //Opret en klasse, som beskriver en vare: Class Vare{} 310112 helf KEA
Function udskriv() Funktionen skal oprette denne html-kode: <h2>navn</h2> <imgsrc='billede' alt='navn'/><br /> beskrivelse<br /> Stykpris: pris<br /> <form method='get' action='' > <p> <input type='hidden' name='vnr' value='vnr' /> <selectname='antal'> <option value='1' selected='selected'>1</option> <option value='2'>2</option> <option value='3'>3</option> </select> <input type='submit' value='Læg i kurv' /> </p> </form> <hr />
Function udskriv() function udskriv(){ echo "<h2>" . $this->navn ."</h2><br />"; echo "<imgsrc='". $this->billede . "' alt='" . $this->navn . "'/><br />"; echo$this->beskrivelse . "<br />"; echo "Stykpris: " . $this->pris . "<br />"; echo "<form method='get' action='' >"; echo "<p><input type='hidden' name='vnr' value='".$this->vnr. "' />"; echo "<selectname='antal'>"; echo "<option value='1' selected='selected'>1</option>"; echo "<option value='2'>2</option>"; echo "<option value='3'>3</option>"; echo "</select>"; echo "<input type='submit' value='Læg i kurv' /></p>"; echo "</form>"; echo "<hr />"; } Læg funktionens indhold ind i koden i stedet for kommentaren: //indholdet af funktionen kommer vi nærmere ind på!
Opret varer og læg i varekatalog $a=new Vare(); $a->vnr=10; $a->navn="Smart brille"; $a->billede="img/brille.gif"; $a->pris="12.25"; $a->beskrivelse="Det er en fantastisk brille, som får dig til at se utrolig godt ud!"; //læg varen ind i kataloget $katalog[10]=$a; $b=new Vare(); $b->vnr=20; $b->navn="DeoDeo"; $b->billede="img/deorollon.jpg"; $b->pris="30.50"; $b->beskrivelse="DeoDeo bare holder og holder - lige meget hvor svedige dine omgivelser er!"; $katalog[20]=$b; //gem katalog som session-variabel $_SESSION['katalog']=$katalog; Sæt ind i koden i stedet for kommentaren: // opret varer som objekter af Class vare og læg dem i $katalog Sæt øverst i php-koden (lige efter <?php): session_start()
Functionlist_katalog functionlist_katalog(){ echo "<h1>Varer</h1>"; foreach($_SESSION['katalog'] as $envare) $envare->udskriv(); } Sæt ind i koden i stedet for kommentaren: // Opret en funktion, som kan udskrive varekataloget: functionlist_katalog(){} 310112 helf KEA
Kald af list_katalog i html-koden <body> <div id="wrapper"> <div id="main"> <?phplist_katalog() ?> </div> <div id="kurv"> herkommerkurven... </div> </div> </body> Sæt ind i koden! 310112 helf KEA
Forbedring: kataloget skal ikkegenskabes ved reload <?php session_start(); ….. if(!isset($_SESSION['katalog'])){ // opret katalog $katalog=Array(); //opret varer $a=new Vare(); $a->vnr=10; $a->navn="Smart brille"; $a->billede="img/brille.gif"; $a->pris="12.25"; $a->beskrivelse="En fantastisk brille, som får dig til at se utrolig godt ud!"; //læg varen ind i kataloget $katalog[10]=$a; ……. $_SESSION['katalog']=$katalog; }