Gjest Skrevet 27. august 2009 Del Skrevet 27. august 2009 Hei! Skal kode en OOP gjestebok. Er dette jeg har satt opp under greit? <?php require_once("includes/initialize.php"); ?> <?php class Guestbook { function view() { } function post() { } function edit() { } function delete() { } } ?> PS: Har ikke kodet noe form for funksjon som striper tags som skal bli postet. Har bare mysql_real_escape_string. Trenger jeg noe bedre? Lenke til kommentar
Alex Moran Skrevet 28. august 2009 Del Skrevet 28. august 2009 Dropp mysql_real_escape_string og bruk prepared statements istedet. Lenke til kommentar
luxus Skrevet 28. august 2009 Del Skrevet 28. august 2009 Hepp! Ditt klasseoppsett ser greit ut, så lenge din gjestebok ikke skal ha noen innlegg og det bare er gjestebøker du skal lagre. Poenget med objekt orientert programmering er å innkapsle funksjonalitet og tilstander som hører sammen slik at vi med andre ord modellerer ting så virkelighetsnært som mulig. Jeg mener derfor du mangler klassen Innlegg som representere ett innleggene. Gjestebok-klassen ender da opp med et array som holder på mange innlegg-objekter. Funksjonene du har skisset ut i Gjestebok-klassen din vet jeg ikke helt om jeg er enig i. Slik jeg ser det bør Gjestebok- og Innlegg-klassene kun ha ansvaret for å representere de tilstander og funksjoner som er direkte knyttet til Gjestebok/innlegget vi modellerer, og ikke noe annet. En gjestebok holder da på mange innlegg, mens et innlegg holder på informasjon om forfatter, tekst, når det ble skrevet osv. Du må gjerne ha funksjoner som kommuniserer med databasen i de (lagring, oppdatering, og sletting av informasjon), men aller helst kunne dette også vært skilt ut. Å skille ut SQL funksjonskall er kanskje enklest når man benytter seg av et rammeverk som har støtte for dette. Når det gjelder input-data fra bruker holder det med å bruke mysql_real_escape_string eller prepared statements. Men; når du henter ut data igjen og skriver disse ut i HTML må du huske å escape tegn som har spesiell betydning i HTML. Benytt f.eks. htmlentities til dette. Lenke til kommentar
Gjest Skrevet 28. august 2009 Del Skrevet 28. august 2009 (endret) Takk for svar! Så om jeg har dette oppsette da: <?php require_once("includes/initialize.php"); ?> <?php class Guestbook { function view() { } function viewpost() { } function post() { } function edit() { } function delete() { } } ?> EDIT: Jeg trenger også å dytte inn dato når den er postet. Bør jeg bruke VARCHAR(255) i MYSQL database og bare gjøre slik: mysql_query("INSERT INTO gjestebok (dato) VALUES('strftime(.".%d-%m-%Y %H:%M:%S."., time())' ) ") EDIT2: function datetime_to_text($datetime="") { $unixdatetime = strtotime($datetime); return strftime("%d-%m-%Y | %H:%M:%S", $unixdatetime); } Kan jeg bruke den funksjonen? xD Endret 28. august 2009 av Gjest Lenke til kommentar
Alex Moran Skrevet 28. august 2009 Del Skrevet 28. august 2009 Nei, da bruker du DATETIME og setter inn med date('Y-m-d H:i:s'); Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå