Avatar billede venchil Nybegynder
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);
Avatar billede venchil Nybegynder
08. maj 2005 - 13:04 #1
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);
?>
Avatar billede Bjarne Novice
08. maj 2005 - 13:06 #2
hvad er det der går galt?
Avatar billede venchil Nybegynder
08. maj 2005 - 13:08 #3
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...
Avatar billede divinegod Nybegynder
08. maj 2005 - 13:11 #4
Måske skulle du definere din table udenfor while-løkken. så den kun bliver lavet 1 gang.
Avatar billede Bjarne Novice
08. maj 2005 - 13:11 #5
hvilke linjer er 20-21 i scriptet?
Avatar billede Bjarne Novice
08. maj 2005 - 13:12 #6
divinegod> Det sker der ikke noget ved. Udover man får en table for hver post.
Avatar billede Bjarne Novice
08. maj 2005 - 13:14 #7
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);
?>
Avatar billede divinegod Nybegynder
08. maj 2005 - 13:15 #8
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.
Avatar billede venchil Nybegynder
08. maj 2005 - 13:22 #9
Så virker det Bjarne003... Tusind tak, du må gerne lægge et svar
Avatar billede Bjarne Novice
08. maj 2005 - 13:24 #10
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester