Problem Smilies im GB |
Reshiram

bloggerin.
 

Dabei seit: 31.05.2010
Beiträge: 276
Herkunft: nrw
 |
|
Ich möchte Smilies im Gästebuch haben, bin schon so weit, dass wenn man auf einen der Smiliebilder klickt, sich der entsprechende Text dazu im Textfenster zeigt.
Also drück ich auf den lachenden Smilie kommt im Textfeld ein
.
Nun möchte ich aber natürlich dass später beim Eintrag dann auch die Bilder angezeigt werden. Hab dazu folgende Seite gefunden -> http://www.webmaster-resource.de/smilies...eln-mit-php.php
Nur wo in meinem gb-Code soll dieser Code hin damit es klappt? Hab schon alles versucht.
Mein Code sieht so aus:
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:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
|
<?php
//$_POST['flag']==1, wenn das Formular abgeschickt wurde
if($_POST['flag']==1)
{
//Leerstellen entfernen
$_POST['absender']=trim($_POST['absender']);
$_POST['mail']=trim($_POST['mail']);
$_POST['hp']=trim($_POST['hp']);
$_POST['text']=trim($_POST['text']);
//evtl. vorhandene HTML-Codes entfernen
$_POST['absender']=strip_tags($_POST['absender']);
$_POST['mail']=strip_tags($_POST['mail']);
$_POST['hp']=strip_tags($_POST['hp']);
$_POST['text']=strip_tags($_POST['text']);
//testen, ob alle Felder ausgefüllt sind
if(!$_POST['absender']){$fehler="Bitte gib Deinen Namen an! <br>";}
if(!$_POST['text']){$fehler="Bitte gib eine Nachricht ein! <br>";}
/*
Wenn Fehler vorhanden, die Textausgabe formatieren und $_POST['flag'] zurücksetzen, damit das Formular erneut angezeigt wird
*/
if($fehler)
{
$meldung="".$fehler."";
unset($_POST['flag']);
}
else //wenn alles ok ist, geht es weiter
{
//Zugangsdaten includen
include ("config.inc.php");
//Zeit und Datum ermitteln
$date = date("d.m.Y");
$time = date("H:i");
//sql-String zusammenbauen
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '".$_POST['text']."');" ;
//Verbindung zur Datenbank
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
mysql_query($sql, $link);
$meldung="Ihre Angaben wurden aufgenommen und werden im Gästebuch eingetragen. <a href="gb.php" target=_self>Weiter</a>";
}
//Ausgeben der Meldung
echo $meldung;
}//Ende $_POST['flag']==1
if(!$_POST['flag'])
{
?>
<html>
<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Neue Seite 1</title>
<link rel="stylesheet" type="text/css" href="main.css">
<script language="JavaScript">
<!--
function SmilieEinfuegen(Smilie)
{
document.guestbook.text.value += Smilie+" ";
document.guestbook.text.focus();
}
//-->
</script>
</head>
<body>
<p class="ohead">Gästebuch</p>
Ich freu mich immer über einen netten Gästebucheintrag.<br><br>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="guestbook">
<input type="hidden" name="flag" value="1"><center>
<table cellspacing="0" cellpadding="2" border="0" width="65%">
<tr>
<td class="tabb" width="25%"><b>Name:</b></td>
<td class="tabc" width="24%">
<input type="text" name="absender" value="<?php echo $_POST['absender']; ?>" size="18"></td>
<td class="tabb" width="48%"><b><i>Smilies</i></b></td>
</tr>
<tr>
<td class="tabb" width="25%"><b>Email:</b></td>
<td class="tabc" width="24%">
<input type="text" name="mail" value="<?php echo $_POST['mail']; ?>" size="18"></td>
<td class="tabc" rowspan="2" width="48%">
<p style="margin-top: 1px; margin-bottom: 1px" align="center">
<a href="javascript:SmilieEinfuegen('*cry*')"><img border="0" src="grafiken/mozilla_cry.png"></a>
<a href="javascript:SmilieEinfuegen(':$')"><img border="0" src="grafiken/mozilla_embarassed.png"></a>
<a href="javascript:SmilieEinfuegen('8-)')"><img border="0" src="grafiken/mozilla_cool.png"></a>
<a href="javascript:SmilieEinfuegen(':(')"><img border="0" src="grafiken/mozilla_frown.png"></a>
<a href="javascript:SmilieEinfuegen('*angel*')"><img border="0" src="grafiken/mozilla_innocent.png"></a>
<a href="javascript:SmilieEinfuegen(':-*')"><img border="0" src="grafiken/mozilla_kiss.png"></a></p>
<p style="margin-top: 1px; margin-bottom: 1px" align="center">
<a href="javascript:SmilieEinfuegen(':D')"><img border="0" src="grafiken/mozilla_laughing.png"></a>
<a href="javascript:SmilieEinfuegen(':)')"><img border="0" src="grafiken/mozilla_smile.png"></a>
<a href="javascript:SmilieEinfuegen(':O')"><img border="0" src="grafiken/mozilla_surprised.png"></a>
<a href="javascript:SmilieEinfuegen(':P:(')"><img border="0" src="grafiken/mozilla_tongueout.png"></a>
<a href="javascript:SmilieEinfuegen(';)')"><img border="0" src="grafiken/mozilla_wink.png"></a>
<a href="javascript:SmilieEinfuegen('>.<')"><img border="0" src="grafiken/mozilla_yell.png"></a></p>
</td>
</tr>
<tr>
<td class="tabb" width="25%"><b>Homepage:</b></td>
<td class="tabc" width="24%">
<input type="text" name="hp" value="<?php echo $_POST['hp']; ?>" size="18"></td>
</tr>
<tr>
<td class="taba" colspan="3">Text</td>
</tr>
<tr>
<td class="tabc" colspan="3">
<p align="center">
<textarea name="text" style="height: 150; width: 370;" rows="1" cols="8"><?php echo $_POST['text']; ?></textarea></td>
</tr>
</table>
</center>
<input type="submit" value="Eintragen">
</form>
<?php
}
?>
<br><img border="0" src="grafiken/gbg.jpg" width="400" height="52">
<br>
<?php
//Zugangsdaten includen
include ("config.inc.php");
$anzeigen=5; //Anzahl der Datensätze, die auf einer Seite angezeigt werden sollen
if($_GET['vor']){$start=$_GET['limit']+$anzeigen;}
if($_GET['back']){$start=$_GET['limit']-$anzeigen;}
if(!$start){$start=0;}
//Auslesen der Einträge
$tabellenname="gb";
$sql="SELECT id, date, time, name, mail, hp, text FROM $tabellenname ORDER BY id DESC LIMIT ".$start.", ".$anzeigen;
$link = mysql_connect("$dbhost", "$dbuser", "$dbpasswd");
mysql_select_db("$db", $link);
$result = mysql_query($sql, $link);
for($i=0;$i<mysql_num_rows($result);$i++)
{
$ergebnis[$i]=mysql_fetch_array($result);
}
//Ermitteln, wie viele Einträge vorliegen
$sql1="SELECT COUNT(*) FROM $tabellenname ";
$result1 = mysql_query($sql1, $link);
$max= mysql_result($result1,0,0);
//Ausgeben der Einträge
for($i=0;$i<count($ergebnis);$i++)
{
$text=nl2br($ergebnis[$i]['text']);
echo ("
<br /><br /><center><table cellspacing="0" cellpadding="3" width="70%">
<tr>
<td class="taba">".$ergebnis[$i]['name']." (<a href="mailto:".$ergebnis[$i]['mail']."">Mail</a> | <a href="".$ergebnis[$i]['hp']."" target=_blank>WWW</a>) schrieb am ".$ergebnis[$i]['date']." um ".$ergebnis[$i]['time']." Uhr: </td>
</tr>
<tr>
<td class="tabb">".$text."</td>
</tr></table>");
}
//Ausgeben der Links vor und zurück
echo "<table border="0" width="100%"><tr><td align="left">";
if($start>=$anzeigen){echo "<a href="".$_SERVER['PHP_SELF']."?limit=".$start."&back=1">Zurück</a>";}
echo "</td><td align="right">";
if($start+$anzeigen<$max-1){echo "<a href="".$SERVER['PHP_SELF']."?limit=".$start."&vor=1">Weiter</a>";}
echo "</tr></table>";
?>
|
|
Hoffe auf Hilfe, es will leider nie klappen :/ Bin noch nicht soo weit mit php.
__________________
|
|
17.08.2010 19:49 |
|
|
Julia712

Mitglied
 

Dabei seit: 28.11.2006
Beiträge: 2.262
 |
|
php: |
1:
2:
|
//Smileys durch Bilder ersetzen
$text = $_POST['text']; |
|
Das hier würde ich direkt über das Eintragen in die Datenbank schreiben.
Dann hast du in der DB auch direkt die Smileys als Grafik drin und musst beim Ausgeben nichts mehr beachten
Du müsstest dann für jeden Smiley diese Zeile einfügen:
php: |
1:
|
$text = str_replace("GETIPPT", "<img src="BILD">", $text); |
|
BILD einfach durch die URL ersetzen und GETIPPT durch das, wie der Smiley aussieht.
Anschließend musst du beim Update dann aber $text einbinden und nicht mehr $_POST['text'];.
php: |
1:
2:
3:
|
//sql-String zusammenbauen
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '$text');" ; |
|
präzises Beispiel
php: |
1:
2:
3:
4:
5:
6:
7:
8:
|
//Smileys durch Bilder ersetzen
$text = $_POST['text'];
$text = str_replace(":-)", "<img src="smilie1.gif">", $text);
$text = str_replace(";-)", "<img src="smilie2.gif">", $text);
//sql-String zusammenbauen
$tabellenname="gb";
$sql="INSERT INTO `gb` ( `id` , `date` , `time` , `name` , `mail` , `hp` , `text` )VALUES ('', '$date', '$time', '".$_POST['absender']."', '".$_POST['mail']."', '".$_POST['hp']."', '$text');" ; |
|
Lg Julia
|
|
18.08.2010 15:58 |
|
|
Reshiram

bloggerin.
 

Dabei seit: 31.05.2010
Beiträge: 276
Herkunft: nrw
Themenstarter
 |
|
Klappt super, dankeschön
__________________
|
|
18.08.2010 18:28 |
|
|
|
Impressum
|