einfacher ajaxchat mit den frameworks von google und scriptaculous
Download der Frameworks:
[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
index.html
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>AJAX Chat</title>
<link rel="stylesheet" href="style.css" type="text/css" />
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="scriptaculous.js"></script>
<script type="text/javascript">
var name = null;
function loadList(){
new Ajax.Updater("Liste", "load_chat.php");
//new Element.scrollTo("Last", {duration: 5.0});
}
function sendList(){
name = $F("User");
var params = "User="+$F("User")+"&Msg="+escape($F("Msg"));
new Ajax.Request("update_chat.php", {method: "get",parameters: params, onComplete: afterSending});
return false;
}
function afterSending(){
$("Msg").value = "";
loadList();
}
function init(){
loadList();
new PeriodicalExecuter(loadList, 3);
}
Event.observe(window, "load", init);
</script>
</head>
<body>
<h1>AJAX Chat</h1>
<div id="Ausgabe">
<ul id="Liste"></ul>
<span id="Last"> </span>
</div>
<form onsubmit="return sendList();" method="get">
<fieldset>
<legend>Eingabe:</legend>
<label for="User">Name:</label>
<input type="text" name="User" id="User" />
<input type="text" name="Msg" id="Msg" size="80" />
<input type="submit" id="Submit" value="abschicken" />
</fieldset>
<div id="Debug"></div>
</form>
</body>
</html>
update_chat.php
PHP Code:
<?php
$connect = mysql_connect("localhost", "USER", "PW");
mysql_select_db("DB", $connect);
if(empty($_GET["User"]) || empty($_GET["Msg"])) die();
$sql = sprintf("INSERT INTO chat(created, name, message)VALUES(NOW(), '%s', '%s')", $_GET["User"], $_GET["Msg"]);
$result = mysql_query($sql, $connect) or die(mysql_error());
?>
load_chat.php
PHP Code:
<?php
$connect = mysql_connect("localhost", "USER", "PW");
mysql_select_db("DB", $connect);
$sql = "SELECT * FROM chat ORDER BY created DESC LIMIT 7";
$result = mysql_query($sql, $connect);
if(mysql_num_rows($result)>0){
while($rs = mysql_fetch_assoc($result)){
$list[] = sprintf("<li>%s: %s</li>", $rs["name"], $rs["message"]);
}
$list = array_reverse($list);
echo implode("", $list);
}
?>
style.css
Code:
/* CSS Document */
#Liste {
padding: 0em;
margin: 0em;
height: 14em;
overflow: auto;
border: thin solid #888;
}
#Liste li{
display: block;
line-height: 1.5em;
margin-bottom: .5em;
}
ACHTUNG, DAS SCRIPT IST NUR FÜR ANSCHAUUNGSZWECKE GEDACHT!!!!!
es ist hier keinerlei sicherheit gewährleistet und sollte niemals in einem livesystem so verwendet werden!!!!