Ich bin gerade dabei meine eigene Site zu entwickeln. Ich kann mit JS, PHP, und XML umgehen, bin aber auch nicht der Profi. Ich habe folgenden Input-Code:
<html>
<head>
<title>Shoutbox</title>
<link rel="stylesheet" type="text/css" href="../CSS/Format.css">
<script type="text/javascript" src="../Java Script/Bild.js"></script>
<script type="text/javascript" src="../Java Script/Uhr.js"></script>
<script type="text/javascript" src="../Java Script/ajax.js"></script>
<script type="text/javascript">
var xml_response_handler = function(content, output_id) {
var entries = content.getElementsByTagName("entry");
document.getElementById(output_id).innerHTML = "";
for(i = 0; i < entries.length; i++) {
var entry_name = entries[i].getElementsByTagName("name")[0];
var entry_text = entries[i].getElementsByTagName("text")[0];
var p = document.createElement("P");
var b = document.createElement("B");
var br = document.createElement("BR");
var text_1 =
document.createTextNode(entries[i].getAttribute("datetime"));
var text_2 = document.createTextNode(" schrieb ");
var text_3 =
document.createTextNode(entry_name.firstChild.nodeValue);
var text_4 = document.createTextNode(":");
var text_5 =
document.createTextNode(entry_text.firstChild.nodeValue);
p.appendChild(b);
b.appendChild(text_1);
b.appendChild(text_2);
b.appendChild(text_3);
b.appendChild(text_4);
p.appendChild(br);
p.appendChild(text_5);
document.getElementById(output_id).appendChild(p);
}
};
function show_shoutbox() {
if(!document.getElementById)
return;
script_url = "shoutbox.php";
do_http_get_request("xml", script_url, "shoutbox_entries");
}
function post_to_shoutbox() {
if(!document.getElementById)
return;
script_url = "shoutbox.php";
post_field_ids = "name+text";
do_http_post_request("xml", script_url, post_field_ids,
"shoutbox_entries");
}
</script>
<body onload="show_shoutbox();window.setInterval(show_shoutbox, 1);">
.....
<form action="#" method="post">
<div>
<input type="button" name="send" value="OK" onclick="post_to_shoutbox()">
<input class="shoutbox_input_1" type="text" name="name" id="name" value="Dein Name?">
</div>
<div>
<textarea class="shoutbox_input_2" name="text" rows="3" cols="20" id="text">Dein Text? [img]http://www.cosgan.de/images/smilie/frech/a045.gif[/img] </textarea>
</div>
</form>
<div id="shoutbox" style="width: 290px;font-size:20px">
<div id="shoutbox_entries">
</div>
</div>
das ist der Input-Code. Die Fomulardaten werden an diesen Externen PHP Script weitergeleitet:
<?php
if(isset($_POST['name']) and isset($_POST['text'])
and $_POST['name'] != "" and $_POST['name'] != "Dein Name?"
and $_POST['text'] != "" and $_POST['name'] != "Dein Text?") {
$dom = new DOMDocument("1.0", "UTF-8");
if(!$dom)
exit("FEHLER(1)!");
$dom->preserveWhiteSpace = false;
if(!$dom->load("shoutbox.xml")) {
$shoutbox = $dom->createElement("shoutbox");
$dom->appendChild($shoutbox);
}
$new_entry_elem = $dom->createElement("entry");
$new_entry_elem->setAttribute("datetime", date("Y-m-d H:i"));
$new_name_elem = $dom->createElement("name",
substr($_POST['name'], 0, 256));
$new_text_elem = $dom->createElement("text",
substr($_POST['text'], 0, 1024));
$new_entry_elem->appendChild($new_name_elem);
$new_entry_elem->appendChild($new_text_elem);
$shoutbox_elem = get_node($dom, '/shoutbox');
if($shoutbox_elem->firstChild)
$shoutbox_elem->insertBefore($new_entry_elem,
$shoutbox_elem->firstChild);
else
$shoutbox_elem->appendChild($new_entry_elem);
$i = 0;
$entry_elems = $dom->getElementsByTagName('entry');
if($entry_elems->length > 10)
$shoutbox_elem->removeChild($shoutbox_elem->lastChild);
$dom->save("shoutbox.xml");
}
$content = file_get_contents("shoutbox.xml");
header('Content-Type: text/xml');
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
echo $content;
function get_node($dom, $xpath) {
$path = new DOMXPath($dom);
$nodes = @$path->query($xpath);
if(!is_object($nodes))
return(false);
else
return($nodes->item(0));
}
?>
Dieser schreib die Fomulardaten in ein XML Dokument zur ausgabe.
Der Obere Script dien auch zur ausgabe falls es jemanden aufgefallen ist.
Der Springende Punkt ist jedoch das ich Smilies einfügen will. Weis jemand wie ich das anstellen könnte???
P.S.: Es gibt noch eine Externe Ajax Datei, falls man sie benötigt um mir zu helfen, einfach sagen