str_replace geeft waarde weer ipv plaatje
helaas krijg ik dit dan ook te zien in het gastenboek. dit moet uiteraard
een plaatje zijn.
de code die het gastenboek weergeeft is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
while ($row = mysql_fetch_assoc($result)) {
$number--;
$ondisplay++;
$name=$row['name'];
$email=$row['email'];
$datum="".$row['tdag']."-".$row['tmaand']."-".$row['tjaar'];
$tijd=$row['time'];
$message=$row['message'];
$message = str_replace(":cheerball:","<img src=\"smilies/w00t.gif\" alt=w00t>",$message);
echo "<div>";
echo '<b> '.($email!=""?'<a href="mailto:'.$email.'">'.$name.'</a>':$name).'</b><br><font style="font-size:7pt; color:#999;">plaatste op '.$datum.' om '.$tijd.' het volgende bericht:</font></p>';
echo str_replace("\n",'<br>',htmlspecialchars($message));
echo "<hr size=1 noshade color=#ff9900 width=75% align=left>";
$number--;
$ondisplay++;
$name=$row['name'];
$email=$row['email'];
$datum="".$row['tdag']."-".$row['tmaand']."-".$row['tjaar'];
$tijd=$row['time'];
$message=$row['message'];
$message = str_replace(":cheerball:","<img src=\"smilies/w00t.gif\" alt=w00t>",$message);
echo "<div>";
echo '<b> '.($email!=""?'<a href="mailto:'.$email.'">'.$name.'</a>':$name).'</b><br><font style="font-size:7pt; color:#999;">plaatste op '.$datum.' om '.$tijd.' het volgende bericht:</font></p>';
echo str_replace("\n",'<br>',htmlspecialchars($message));
echo "<hr size=1 noshade color=#ff9900 width=75% align=left>";
Gewijzigd op 01/01/1970 01:00:00 door Sander R
Tuned schreef op 15.06.2008 14:20:
krijg je bijv. :cheer:
str_replace(":cheerball:",
Zoek het verschil.
Je vervangt :cheer: ook niet maar :cheerball:
maar ik krijg dan in mijn gastenboek te zien:
<img src=\"smilies/w00t.gif\" alt=w00t> in plaats het plaatje
http://nl.php.net/htmlspecialchars
htmlspecialchars($message) moet je uitvoeren voordat je de smilie replace functie doet. Anders werkt het niet :P Gewijzigd op 01/01/1970 01:00:00 door Pepijn
Code (php)
1
2
3
2
3
<?php
$message = str_replace(':cheerball:', '<img src="smilies/w00t.gif" alt="w00t"/>', $message);
?>
$message = str_replace(':cheerball:', '<img src="smilies/w00t.gif" alt="w00t"/>', $message);
?>
zo:
Code (php)
1
$message = str_replace(':cheerball:', "<img src=smiley/ek/cheer.jpg />", htmlspecialchars($message));
of
Code (php)
1
2
2
$message=htmlspecialchars($message);
$message = str_replace(':cheerball:', "<img src=smiley/ek/cheer.jpg />", $message);
$message = str_replace(':cheerball:', "<img src=smiley/ek/cheer.jpg />", $message);
//edit: ik zag zojuist al meer replies..
@SanThe: de tekst blijft plain
Gewijzigd op 01/01/1970 01:00:00 door Sander R
Code (php)
1
2
3
4
2
3
4
<?php
$message = htmlspecialchars($message);
$message = str_replace(':cheerball:', '<img src="smiley/ek/cheer.jpg" />', $message);
?>
$message = htmlspecialchars($message);
$message = str_replace(':cheerball:', '<img src="smiley/ek/cheer.jpg" />', $message);
?>
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
dus
<img src="smiley/ek/cheer.jpg" />
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
require_once("template.php");
echo "<div id=content>";
function checkNum($num){
return ($num%2) ? TRUE : FALSE;
}
if(isset($_GET['p'])) {
$page=$_GET['p'];
}
else {
$page=1;
}
$amount=10;
$total_messages = mysql_numrows(mysql_query("SELECT id FROM ".$table_forum));
$pages = ceil($total_messages/$amount);
if($page==1) {
$current_message = $page;
}
else {
$current_message = (($page*$amount)-$amount)+1;
}
$last_message = ($page*$amount);
if($last_message>=$total_messages) {
$last_message=$total_messages;
}
echo "<h2>Gastenboek</h2>";
echo "<hr size=1 color=#ff9900 noshade width=50% align=left></hr>";
echo "<p><a href=\"plaats.php\">Plaats bericht</a></p>";
echo "<p>Pagina ".$page." van ".$pages.". Aantal pagina's: ";
for ($i=1; $i<=$pages; $i++) {
if($i==$page) {
echo '<b> '.$i.'</b> ';
}
else {
echo '<a href="gastenboek.php?p='.$i.'">'.$i.'</a> ';
}
}
echo "<br/>Totaal aantal berichten: ".$total_messages.". ";
//echo "Berichten ".$current_message." tot en met ".$last_message.".</p>";
echo "<hr size=1 noshade color=#ff9900 width=75% align=left>";
$result = mysql_query("SELECT *, date_format(date,'%d') as tdag, date_format(date,'%m') as tmaand, date_format(date,'%Y') as tjaar FROM ".$table_forum." ORDER BY id DESC LIMIT ".($current_message-1).",".$amount."") or die(mysql_error());
echo "<div >";
$ondisplay=1;
if($page==1) {
$number=($total_messages+1);
}
elseif ($pages==$page) {
$number=($total_messages+1)-($amount*($pages-1));
}
else {
$number=($total_messages+1)-($amount*($page-1));
}
// fetch results from database
while ($row = mysql_fetch_assoc($result)) {
$number--;
$ondisplay++;
$name=$row['name'];
$email=$row['email'];
$datum="".$row['tdag']."-".$row['tmaand']."-".$row['tjaar'];
$tijd=$row['time'];
$message=$row['message'];
$message = htmlspecialchars($message);
$message = str_replace(':cheerball:', '<img src="smiley/ek/cheer.jpg" />', $message);
echo "<div>";
echo '<b> '.($email!=""?'<a href="mailto:'.$email.'">'.$name.'</a>':$name).'</b><br><font style="font-size:7pt; color:#999;">plaatste op '.$datum.' om '.$tijd.' het volgende bericht:</font></p>';
echo str_replace("\n",'<br>',htmlspecialchars($message));
echo "<hr size=1 noshade color=#ff9900 width=75% align=left>";
//echo "</div>";
}
/* echo "<br/>";
if($page!=1 && $page<$pages) {
echo '<a href="gastenboek.php?p='.($page-1).'">Vorige pagina</a> || <a href="gastenboek.php?p='.($page+1).'">Volgende pagina</a>';
}
elseif($page==1 && $page<$pages) {
echo '<a href="gastenboek.php?p='.($page+1).'">Volgende pagina</a>';
}
elseif($page==$pages) {
echo '<a href="gastenboek.php?p='.($page-1).'">Vorige pagina</a>';
}
elseif($page==1 && $page==$pages) {
// doe niks
}
*/
?>
require_once("template.php");
echo "<div id=content>";
function checkNum($num){
return ($num%2) ? TRUE : FALSE;
}
if(isset($_GET['p'])) {
$page=$_GET['p'];
}
else {
$page=1;
}
$amount=10;
$total_messages = mysql_numrows(mysql_query("SELECT id FROM ".$table_forum));
$pages = ceil($total_messages/$amount);
if($page==1) {
$current_message = $page;
}
else {
$current_message = (($page*$amount)-$amount)+1;
}
$last_message = ($page*$amount);
if($last_message>=$total_messages) {
$last_message=$total_messages;
}
echo "<h2>Gastenboek</h2>";
echo "<hr size=1 color=#ff9900 noshade width=50% align=left></hr>";
echo "<p><a href=\"plaats.php\">Plaats bericht</a></p>";
echo "<p>Pagina ".$page." van ".$pages.". Aantal pagina's: ";
for ($i=1; $i<=$pages; $i++) {
if($i==$page) {
echo '<b> '.$i.'</b> ';
}
else {
echo '<a href="gastenboek.php?p='.$i.'">'.$i.'</a> ';
}
}
echo "<br/>Totaal aantal berichten: ".$total_messages.". ";
//echo "Berichten ".$current_message." tot en met ".$last_message.".</p>";
echo "<hr size=1 noshade color=#ff9900 width=75% align=left>";
$result = mysql_query("SELECT *, date_format(date,'%d') as tdag, date_format(date,'%m') as tmaand, date_format(date,'%Y') as tjaar FROM ".$table_forum." ORDER BY id DESC LIMIT ".($current_message-1).",".$amount."") or die(mysql_error());
echo "<div >";
$ondisplay=1;
if($page==1) {
$number=($total_messages+1);
}
elseif ($pages==$page) {
$number=($total_messages+1)-($amount*($pages-1));
}
else {
$number=($total_messages+1)-($amount*($page-1));
}
// fetch results from database
while ($row = mysql_fetch_assoc($result)) {
$number--;
$ondisplay++;
$name=$row['name'];
$email=$row['email'];
$datum="".$row['tdag']."-".$row['tmaand']."-".$row['tjaar'];
$tijd=$row['time'];
$message=$row['message'];
$message = htmlspecialchars($message);
$message = str_replace(':cheerball:', '<img src="smiley/ek/cheer.jpg" />', $message);
echo "<div>";
echo '<b> '.($email!=""?'<a href="mailto:'.$email.'">'.$name.'</a>':$name).'</b><br><font style="font-size:7pt; color:#999;">plaatste op '.$datum.' om '.$tijd.' het volgende bericht:</font></p>';
echo str_replace("\n",'<br>',htmlspecialchars($message));
echo "<hr size=1 noshade color=#ff9900 width=75% align=left>";
//echo "</div>";
}
/* echo "<br/>";
if($page!=1 && $page<$pages) {
echo '<a href="gastenboek.php?p='.($page-1).'">Vorige pagina</a> || <a href="gastenboek.php?p='.($page+1).'">Volgende pagina</a>';
}
elseif($page==1 && $page<$pages) {
echo '<a href="gastenboek.php?p='.($page+1).'">Volgende pagina</a>';
}
elseif($page==$pages) {
echo '<a href="gastenboek.php?p='.($page-1).'">Vorige pagina</a>';
}
elseif($page==1 && $page==$pages) {
// doe niks
}
*/
?>
</div>
dit is van het gastenboek zelf. dus de index van het gastenboek. hier staan alle messages
$message = str_replace(':cheerball:', '<img src="smiley/ek/cheer.jpg"/>', $message);
echo "<div>";
echo '<b> '.($email!=""?'<a href="mailto:'.$email.'">'.$name.'</a>':$name).'</b><br><font style="font-size:7pt; color:#999;">plaatste op '.$datum.' om '.$tijd.' het volgende bericht:</font></p>';
echo str_replace("\n",'<br>',htmlspecialchars($message));
Ik zie nog een keer htmlspecialchars($message) staan. Haal die eens weg.
Edit:
Dit:
Gewijzigd op 01/01/1970 01:00:00 door Pepijn
mijn dank ik groot.
blijkbaar hoef je dus maar 1x specialchars aan te roepen.
Gewijzigd op 01/01/1970 01:00:00 door Sander R