Thomas. Skrevet 18. desember 2007 Del Skrevet 18. desember 2007 (endret) Skjekk ut gjesteboken min: http://support-u.110mb.com/?side=gb Si om noe kunne vært bedre, eller endret! Eller hva som er bra med den etc.. Her ser dere hele koden: <?php ############# INKLUDERER MYSQL DATABSEN ########################################################### require_once('inc/mysql/db_connection.php'); ########################################################################################## ######## ############ KONFIGURASJON FOR FELTENE ############################################################ ## VIS DU TRYKKER SUBMIT BUTTON if (isset($_POST['submitBtn'])) { $name = (isset($_POST['name'])) ? htmlentities($_POST['name']) : ''; $comment = (isset($_POST['comment'])) ? htmlentities($_POST['comment']) : ''; $actDate = date("Y-m-d H:i:s"); ########## KOMMENTARER TIL NAVN + SMILIES ######################################################### $name = str_replace("admin", "Jeg er en DOTT :)", $name); $name = str_replace("administrator", "Jeg er en DOTT :)", $name); #SMILIES: $comment = str_replace(":)", "<img border=0 src=images/smileys/smile.gif />", $comment); $comment = str_replace(":D", "<img border=0 src=images/smileys/supergrin.gif />", $comment); $comment = str_replace(":(", "<img border=0 src=images/smileys/frown.gif />", $comment); $comment = str_replace(":O", "<img border=0 src=images/smileys/redface.gif />", $comment); $comment = str_replace(":P", "<img border=0 src=images/smileys/tounge.gif />", $comment); ###################### BB KODER ################################################################### ## FET ## # [b]Tekst Her[/b] ## KURSIV ## # [i]Tekst Her[/i] ## UNDERSTREKET ## # [u]Tekst Her[/u] ## LINK ## # [url=LINKHER]navn på link her[/url] ## FARGER ## # Blå: [color=bla]Tekst Her[/color] # Rød: [color=rod]Tekst Her[/color] ## KODE ## # [kode]KODEN DIN HER[/kode] # LINK: $comment = preg_replace("#\[url=([^\"']+?)\](.+?)\[/url\]#is", "<a href=\"http://$1\">$2</a>", $comment); # FARGER: $comment = preg_replace("#\[color=bla](.*?)\[/color\]#is", "<font color=blue>$1</font>", $comment); $comment = preg_replace("#\[color=rod](.*?)\[/color\]#is", "<font color=red>$1</font>", $comment); # KODE: (PHP ETC..) $comment = preg_replace("#\[kode](.*?)\[/kode\]#is", "<code>$1</code>", $comment); # FET: $comment = preg_replace ('/\[b\](.*?)\[\/b\]/is', '<b>$1</b>', $comment); # KURSIV: $comment = preg_replace ('/\[i\](.*?)\[\/i\]/is', '<i>$1</i>', $comment); # UNDERSTREKET: $comment = preg_replace ('/\[u\](.*?)\[\/u\]/is', '<u>$1</u>', $comment); ########################################################################################## ######## ######## MINIMUM LENGE PÅ NAVN Å KOMMENTAR ######### if ((strlen($name) > 4) && (strlen($comment) > 5)){ ########## VIS DETTE STEMMER; SÅ SETT INN INFOEN TIL DATABSEN ########## $sql = "INSERT INTO guestbook (name,text,insertdate) VALUES ("; $sql .= "'".$name."','".$comment."','".$actDate."')"; $MyDb->f_ExecuteSql($sql); } header("Location: ?side=gb"); } else { ?> <form action="?side=gb" method="post" name="gbook" id="gbook"> <br /> Navn: <font color="#FF0000" style="font-size:9px;">(må inneholde minst 4 tegn)</font> <br /><input name="name" type="text" size="42" maxlength="15" /> <br /> Hilsen: <font color="#FF0000" style="font-size:9px;">(må inneholde minst 5 tegn)</font><br /> <input type="button" value="b" style="width:50px;font-weight:bold" onclick="storeCaret('b')"> <input type="button" value="i" style="width:50px;font-style:italic" onclick="storeCaret('i')"> <input type="button" value="u" style="width:50px;text-decoration:underline" onclick="storeCaret('u')"> <input type="button" value="kode" style="width:50px" onclick="storeCaret('kode')"> <!-- javascript legg til (A) --> <input type="button" value="url" style="width:50px" onclick="java script:a('[url=http://SkrivLinkHer]Link[/url]')"> <input type="button" value="rød" style="width:50px" onclick="java script:a('[color=rod]rød farge[/color]')"> <input type="button" value="blå" style="width:50px" onclick="java script:a('[color=bla]blå farge[/color]')"> <br /> <!-- smiles (legge til) --> <A HREF="java script:a(' :) ')"><img src="images/smileys/smile.gif" alt="" border="0"></a> <A HREF="java script:a(' :( ')"><img src="images/smileys/frown.gif" alt="" border="0"></a> <A HREF="java script:a(' :O ')"><img src="images/smileys/redface.gif" alt="" border="0"></a> <A HREF="java script:a(' :P ')"><img src="images/smileys/tounge.gif" alt="" border="0"></a> <A HREF="java script:a(' :D ')"><img src="images/smileys/supergrin.gif" alt="" border="0"></a> <!-- / --> <!-- / --> <textarea name="comment" cols=32 rows=6></textarea> <br/><input class="text" type="submit" name="submitBtn" value=" Legg Til.. " /> </form> <p> <?php } ?> <?php require_once('inc/rate.php'); require_once('inc/mysql/db_connection.php'); $sql = "SELECT * FROM guestbook ORDER BY insertdate DESC"; $result = $MyDb->f_ExecuteSql($sql); $recordcount = $MyDb->f_GetSelectedRows(); ?> </p> <p> <?php while ($row = $MyDb->f_GetRecord($result)) { ?> </p> <p> <div style="background-color:#E6E6E6; border:1px solid #000000; width:450px; margin-left:15px;"><b><?php echo $row['name']; ?></b> <i>skrev:</i></div> <div style="background-color:#ffffff; width:450px; margin-left:15px; border-left: 1px solid #000000; border-right: 1px solid #000000;"><br /><?php echo nl2br($row['text']); ?><br /> </div> <div style="background-color:#F0F0F0; width:450px; margin-left:15px; border-left: 1px solid #000000; border-right: 1px solid #000000; border-bottom: 1px solid #000000;"><?php echo $row['insertdate']; ?></div> <?php } ?> Endret 18. desember 2007 av php_user Lenke til kommentar
BigJackW Skrevet 18. desember 2007 Del Skrevet 18. desember 2007 (endret) Tja. Gi oss litt kildekode vi kan knaske på da. Om det er utseende du vil ha kritikk på er denne postet feil sted. Navn: (må inneholde minst 4 tegn) Hilsen: (må inneholde minst 5 tegn) Hvor er hilsen-feltet, og hva er vitsen med det? Endret 18. desember 2007 av BigJackW Lenke til kommentar
Thomas. Skrevet 18. desember 2007 Forfatter Del Skrevet 18. desember 2007 (endret) Hva er vitsen med hva ? Her er hilsen feltet: <textarea name="comment" cols=32 rows=6></textarea> Står i koden Står ikke det, når du går til siden ? :S :O Endret 18. desember 2007 av php_user Lenke til kommentar
BigJackW Skrevet 18. desember 2007 Del Skrevet 18. desember 2007 (endret) Ah. Burde stått noe annet enn hilsen da. Din meldig eller noe sånt. $comment = preg_replace("#\[color=(.*?)](.*?)\[/color\]#is", "<font color=\"$1\">$2</font>", $comment); [color=englishColor]fewafeiw[/color] Da kan brukerne velge flere farger enn rød og blå. Og den administrator-greia de er bare å glemme. Om noen vil skrive som administrator greier de det lett enten ved å skrive med stor forbokstav, mellomrom mellom bokstaver, A-d-m-i-n osv. (Ihvertfall med den nåværende løsningen). Endret 18. desember 2007 av BigJackW Lenke til kommentar
Yankes Skrevet 18. desember 2007 Del Skrevet 18. desember 2007 (endret) Fin den, er det du som har laget den? Regner med det er noe du driver og koder nå, men den slett funksjonen din funker dårlig Endret 18. desember 2007 av YaNkEs Lenke til kommentar
Thomas. Skrevet 18. desember 2007 Forfatter Del Skrevet 18. desember 2007 Riktig det ja Lenke til kommentar
grimjoey Skrevet 20. desember 2007 Del Skrevet 20. desember 2007 (endret) Det er en god start. Jeg vil bare poengtere at du løser samme problem gjenntatte ganger (oppramsing). Dette er ikke effektiv programmering. ta tags som eksempel. det lønner seg å først tenke ut hvordan du vil skrive tags. så finne ut hva du vil de skal kunne gjøre. så implementere en generell løsning på alle "tags problem". i stedet for: $comment = preg_replace("#\+?)\](.+?)\[/url\]#is", "<a href=\"http://$1\">$2</a>", $comment); # FARGER: $comment = preg_replace("#\(.*?)\[/color\]#is", "<font color=blue>$1</font>", $comment); $comment = preg_replace("#\(.*?)\[/color\]#is", "<font color=red>$1</font>", $comment); # KODE: (PHP ETC..) $comment = preg_replace("#\[kode](.*?)\[/kode\]#is", "<code>$1</code>", $comment); # FET: $comment = preg_replace ('/\[b\](.*?)\[\/b\]/is', '<b>$1</b>', $comment); # KURSIV: $comment = preg_replace ('/\[i\](.*?)\[\/i\]/is', '<i>$1</i>', $comment); # UNDERSTREKET: $comment = preg_replace ('/\[u\](.*?)\[\/u\]/is', '<u>$1</u>', $comment); kunne du hatt: <?php $allowedTags = array( // array med lovlige tags og spesifikasjon array('color', 1, '<font color=', '>', '</font>'), array('b', 0, '<b>', '</b>'), array('i', 0, '<i>', '</i>'), array('u', 0, '<u>', '</u>'), array('kode', 0, '<code>', '</code>') ); foreach ($allowedTags as $tag) { if ($tag[1]) { preg_match_all('\['.$tag[0].'=(.*)\]', $message, $matches); preg_replace('\['.$tag[0].'=.*\]', $tag[2].$matches[0].$tag[3], $message); preg_replace('\[/'.$tag[0].'\]', $tag[4], $message); } else { preg_replace('\['.$tag[0].'\]', $tag[2]); preg_replace('\[/'.$tag[0].']', $tag[3]); } } ?> har ikke testet den. funker antagelig ikke men håper du ser poenget. reg-exen min er litt rusten for hver nye tag du vil legge inn er det bare den nødvendige informasjonen som trengs å skrives. du trenger ikke lenger ramse opp masse preg_replace(). dessuten er koden din på ett sted. er det en feil påvirker de alle og du ser det lett. har du en feil i blandt masse liknende kode syns ikke den like godt. og det er kjanse for at det begås feil hver gang du ramser opp noe. den kjansen forsvinner dersom koden allerede er laget og testet. Endret 20. desember 2007 av grimjoey 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å