WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHPGuestbook mit smileys (http://www.wcm.at/forum/showthread.php?t=128351)

leguan1982 14.03.2004 13:45

PHPGuestbook mit smileys
 
Hi!

Ich möchte mein Selbst geschriebenes PHP-Guestbook mit Smileys bestücken.

sollte sowohl per auswahl als auch per emoticons funktonieren.

kann mir wer Weiterhelfen?

danke im vorraus.

lg. Leguan1982

Who-T 14.03.2004 14:14

wo genau hast du die probleme?

im text einfach

$text = str_replace (";)", "<img src=\"mysmiley.gif\">", $_POST["guestbook_text"]);

zb...

leguan1982 14.03.2004 17:34

Danke!
Weist du wie das mit der Auswahl geht?
(Klickst auf ein Emoticon und es ist dann im text)

viell. hilft das script:
<?php
$datei="comment_forum2.txt";
if (isset($comment) && $name != "" && $email != "") {
$zeiger=fopen($datei,"r+");
$alt=fread($zeiger,filesize($datei));
$ip = $_SERVER["REMOTE_ADDR"];
$datum=date("j.n.Y, H:i:s");
$email="<a href=\"mailto:$email\">$name</a>";
$url="<a href=\"$url\" target=\"_blank\">WWW</a>";
$comment=htmlspecialchars($comment);
$comment=stripslashes(nl2br($comment));
$meinung="<tr><td bgcolor=\"#FFCC00\" width=\"25%\" class=\"text\" valign=\"top\"><span class=\"text_fett\">
$email | $url
</span><span class=\"text_klein_fett\">$datum | $location </span></td>
<td bgcolor=\"#FFFFFF\" width=\"75%\" valign=\"top\" class=\"text\">
:: $comment
</td>
</tr>\n";
rewind($zeiger);
$laenge=strlen($meinung);
if($meinung!=substr($alt,0,$laenge)) {
fputs($zeiger,"$meinung \n $alt");
}
fclose($zeiger);
}
Readfile($datei);
?>

Ist in einen HTML-"Script" eingebettet und als .php abgespeichert.

Pro eintrag wird das HTML-Script um eine <tr>-erweitert.

Who-T 14.03.2004 18:02

das is javascript, also clientseitig.

[img]mysmiley.gif[/img]

oder so

schau dir den html source vom beitrag schreiben an, sollt dort wo zu finden sein.

T.dot 14.03.2004 18:13

Ich hab das ganze mal für ein ASP Guestbook programmiert (siehe http://www25.brinkster.com/oppossom/viewentry.asp?ID=0 ) und hab mir den Code dazu auch nur geklaut, auf jeden Fall:

javascript:

PHP-Code:

<script language="JavaScript" type="text/javascript">
<!--
function 
emoticon(text
{
        
text ' ' text ' ';
        if (
document.post.txtEintrag.createTextRange && document.post.txtEintrag.caretPos
        {
                var 
caretPos document.post.txtEintrag.caretPos;
                
caretPos.text caretPos.text.charAt(caretPos.text.length 1) == ' ' text ' ' text;
                
document.post.txtEintrag.focus();
        } 
        else 
        {
                
document.post.txtEintrag.value  += text;
                
document.post.txtEintrag.focus();
        }
}
</script> 

dazu noch die URL zum aufrufen (hab ich jetz von ASP Code ein wenig umgebaut, musst du dir halt dann mit deiner Datenbank hinrichten):
Smiley1

ich hoffe das nützt dir was...

mfg Thomas

heli2sky 18.03.2004 14:20

kann mir wer erklären, warum das bei mir nicht funktioniert? es wird immer die else schleife ausgeführt :(

ausgabe für document.forms['formular'].news.createTextRange;
function createTextRange() {
[native code]
}
ausgabe für document.forms['formular'].news.caretPos;
undefined

bitte um hilfe!

ps: mein formular:
PHP-Code:

<form action="?page=submit_news.php" method="POST" name="formular">
<
table align="center" cellpadding="5">
<
tr>
<
td colspan="2" align="right">
<
input type="button" value="fett" onclick="fett(0)">
<
input type="button" value="kursiv" onclick="kursiv(0)">
</
td>
</
tr>
<
tr>
<
td valign="top">News:</td>
<
td><textarea name="news" id="0" style="width: 500px; height: 250px; border: 1px solid #AAA;"></textarea></td>
</
tr>
<
tr>
<
td colspan="2" align="right"><input type="submit" value="speichern"></td>
</
tr>
</
table>
</
form

und noch mein javascript:
PHP-Code:

<script language="javascript">
function 
fett(id) {
    
string prompt('Geben Sie den Text ein, der fett sein soll!','');
    if(string) {
        
string "[b]" string "[/b]";
        
emoticon(string);
    }
    
document.getElementById(id).focus();
}
function 
kursiv(id) {
    
string prompt('Geben Sie den Text ein, der kursiv sein soll!','');
    if(string) {
        
string "[i]" string "[/i]";
        
emoticon(string);
    }
    
document.getElementById(id).focus();
}

function 
emoticon(text) {
    
text ' ' text ' ';
    
document.forms['formular'].news.value += document.forms['formular'].news.createTextRange;
    
document.forms['formular'].news.value += document.forms['formular'].news.caretPos;
    if(
document.forms['formular'].news.createTextRange && document.forms['formular'].news.caretPos) {
        var 
caretPos document.forms['formular'].news.caretPos;
        
caretPos.text caretPos.text.charAt(caretPos.text.length 1) == ' ' text ' ' text;
        
document.forms['formular'].news.focus();
    }
    else {
        
document.forms['formular'].news.value  += text;
        
document.forms['formular'].news.focus();
    }

</script> 



Alle Zeitangaben in WEZ +2. Es ist jetzt 01:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag