08. maj 2005 - 13:02
Der er
9 kommentarer og 1 løsning
Smiley-problem
Hvad gør jeg galt her i min gæstebog? Som i kan se henter jeg beskeden fra min MySQL-tabel, og derefter får jeg PHP til at udbytte f.eks :) med <img src=\"gaestebog/content_gaestebog_smiley_glad.gif\"> $hent = mysql_query("select * from gaestebog order by tid desc limit 15"); $besked = $vis['besked']; $besked = str_replace(":)", "<img src=\"gaestebog/content_gaestebog_smiley_glad.gif\">",$besked); $besked = str_replace(":D", "<img src=\"gaestebog/content_gaestebog_smiley_megetglad.gif\">",$besked); $besked = str_replace(":@", "<img src=\"gaestebog/content_gaestebog_smiley_sur.gif\">",$besked); $besked = str_replace(":(", "<img src=\"gaestebog/content_gaestebog_smiley_ked.gif\">",$besked); $besked = str_replace(":|", "<img src=\"gaestebog/content_gaestebog_smiley_neutral.gif\">",$besked); $besked = str_replace(":o", "<img src=\"gaestebog/content_gaestebog_smiley_eh.gif"\>",$besked); $besked = str_replace(":P", "<img src=\"gaestebog/content_gaestebog_smiley_userios.gif\">",$besked); $besked = str_replace(":S", "<img src=\"gaestebog/content_gaestebog_smiley_forvirret.gif\">",$besked); $besked = str_replace(";)", "<img src=\"gaestebog/content_gaestebog_smiley_ok.gif"\>",$besked);
Annonceindlæg fra Kingston Technology
I får lige hele scriptet: <?php $conn = mysql_connect("localhost", "brugernavn", "password"); mysql_select_db("database"); $hent = mysql_query("select * from gaestebog order by tid desc limit 15"); while ($vis = mysql_fetch_array($hent)) { $besked = $vis['besked']; $besked = str_replace(":)", "<img src=\"gaestebog/content_gaestebog_smiley_glad.gif\">",$besked); $besked = str_replace(":D", "<img src=\"gaestebog/content_gaestebog_smiley_megetglad.gif\">",$besked); $besked = str_replace(":@", "<img src=\"gaestebog/content_gaestebog_smiley_sur.gif\">",$besked); $besked = str_replace(":(", "<img src=\"gaestebog/content_gaestebog_smiley_ked.gif\">",$besked); $besked = str_replace(":|", "<img src=\"gaestebog/content_gaestebog_smiley_neutral.gif\">",$besked); $besked = str_replace(":o", "<img src=\"gaestebog/content_gaestebog_smiley_eh.gif"\>",$besked); $besked = str_replace(":P", "<img src=\"gaestebog/content_gaestebog_smiley_userios.gif\">",$besked); $besked = str_replace(":S", "<img src=\"gaestebog/content_gaestebog_smiley_forvirret.gif\">",$besked); $besked = str_replace(";)", "<img src=\"gaestebog/content_gaestebog_smiley_ok.gif"\>",$besked); echo "<table style='width:100%;background-color:#e6e6e6;border:1px solid #DDE1E4'><tr><td>"; echo "<b><a href=\"". stripslashes($vis['hjemmeside']) ."\">". stripslashes($vis['navn']) ."</a></b> - ". $vis['tid'] ."<br>"; echo stripslashes($besked) ."<p />"; echo "</td></tr></table>"; echo "<br>"; } mysql_close($conn); ?>
hvad er det der går galt?
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /customers/darkcloud.dk/darkcloud.dk/httpd.www/animepark/madskjaer/content_gaestebog.php on line 20 Parse error: parse error, unexpected ':' in /customers/darkcloud.dk/darkcloud.dk/httpd.www/animepark/madskjaer/content_gaestebog.php on line 21 Eller også viser den slet ikke beskeden...
Måske skulle du definere din table udenfor while-løkken. så den kun bliver lavet 1 gang.
hvilke linjer er 20-21 i scriptet?
divinegod> Det sker der ikke noget ved. Udover man får en table for hver post.
prøv med dette: <? $conn = mysql_connect("localhost", "brugernavn", "password"); mysql_select_db("database"); $hent = mysql_query("select * from gaestebog order by tid desc limit 15"); while ($vis = mysql_fetch_array($hent)) { $besked = $vis['besked']; $besked = str_replace(":)", "<img src=\"gaestebog/content_gaestebog_smiley_glad.gif\">",$besked); $besked = str_replace(":D", "<img src=\"gaestebog/content_gaestebog_smiley_megetglad.gif\">",$besked); $besked = str_replace(":@", "<img src=\"gaestebog/content_gaestebog_smiley_sur.gif\">",$besked); $besked = str_replace(":(", "<img src=\"gaestebog/content_gaestebog_smiley_ked.gif\">",$besked); $besked = str_replace(":|", "<img src=\"gaestebog/content_gaestebog_smiley_neutral.gif\">",$besked); $besked = str_replace(":o", "<img src=\"gaestebog/content_gaestebog_smiley_eh.gif\">",$besked); $besked = str_replace(":P", "<img src=\"gaestebog/content_gaestebog_smiley_userios.gif\">",$besked); $besked = str_replace(":S", "<img src=\"gaestebog/content_gaestebog_smiley_forvirret.gif\">",$besked); $besked = str_replace(";)", "<img src=\"gaestebog/content_gaestebog_smiley_ok.gif\">",$besked); echo "<table style='width:100%;background-color:#e6e6e6;border:1px solid #DDE1E4'><tr><td>"; echo "<b><a href=\"". stripslashes($vis['hjemmeside']) ."\">". stripslashes($vis['navn']) ."</a></b> - ". $vis['tid'] ."<br>"; echo stripslashes($besked) ."<p />"; echo "</td></tr></table>"; echo "<br>"; } mysql_close($conn); ?>
bjarne003 : Ja, det ved jeg godt, det er også en del pænere. Jeg havde ikke set at det ikke var det der var fejlen i det før efter jeg havde postet. venchil : Du kunne måske bruge hax-ascii koden for hvert enkelt tegn, så bliver parseren ikke forvirret over at din linje bliver sluttet for tidligt med ";" eller der kommer et ( på et forkert tidspunkt.
Så virker det Bjarne003... Tusind tak, du må gerne lægge et svar
Vi tilbyder markedets bedste kurser inden for webudvikling