Hade lite tråkigt ikväll, och när jag har tråkigt försöker jag programmera något roligt.
Idag blev det att lära mig lite mer jQuery + Ajax.
Här finns en väldigt, väldigt simpel chat gjord i php, jQuery & ajax:
http://78.72.111.66/ajaxchat.php
Filerna finns här:
ajaxchat.php
PHP-kod:
<?php
session_start();
include("libs/libsql.php");
?>
<!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>
<title>
Ajax jQuery chat example!
</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="styles/style.css" />
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jQueryAjaxChat.js"></script>
</head>
<body>
<div id="content">
<div id="messages">
Loading messages..
</div>
<div id="message-div">
<form method="post" action="">
Username: <br />
<input type="text" id="username" name="username"></input><br />
Message: <br/>
<input type="text" id="message" name="message"></input>
<input type="submit" id="message-send" value="Send"></input>
</form>
</div>
<div id="errsucc">
</div>
</div>
</body>
</html>
styles.css
PHP-kod:
body {
background: #181818;
font: 11px/165% 'Lucida Grande', Geneva, Verdana, Arial, Helvetica, sans-serif;
}
#content {
}
#messages {
color: white;
background: #763;
margin-left: auto;
margin-right: auto;
width: 600px;
padding: 5px;
}
#message-div {
color: white;
background: #777;
margin-left: auto;
margin-right: auto;
width: 600px;
padding: 5px;
}
#errsucc {
color: #01EE20;
background: #777;
margin-left: auto;
margin-right: auto;
width: 600px;
padding: 5px;
}
#errsucc h2{
color: #EE4225;
}
#message-div input#username {
margin-left: 0px;
}
#message-div input#message {
width: 500px;
}
#message-div input[type=submit] {
width: 90px;
}
#message-send {
cursor:pointer;
border:outset 2px #ccc;
background:#aaa;
color:#444;
font-weight:bold;
}
getMessages.php
PHP-kod:
<?php
require_once("libs/libsql.php");
$result = mysql_query("SELECT * FROM messages ORDER BY added DESC LIMIT 0, 15");
$retHtml = "";
while($row = mysql_fetch_array($result)) {
$retHtml .= strip_tags($row['username']) . ": " . strip_tags($row['message']) . "<br />";
}
echo $retHtml;
?>
libsql.php
PHP-kod:
<?php
$DEBUG = false;
$vg_Username = "root";
$vg_Password = "dittLOSEN";
$vg_Database = "databas";
$vg_DatabaseIP = "localhost";
//Anslut till databasen
if($DEBUG)
{
$vg_Handle = mysql_connect($vg_DatabaseIP, $vg_Username, $vg_Password)
or die("Could not connect to " . $vg_DatabaseIP);
}
else
{
$vg_Handle = mysql_connect($vg_DatabaseIP, $vg_Username, $vg_Password);
}
if($DEBUG)
echo "Connected to " . $vg_DatabaseIP . "<br>";
//Välj rätt Databas
if($DEBUG)
{
mysql_select_db($vg_Database, $vg_Handle) or die (" Database not found.");
}
else
{
mysql_select_db($vg_Database, $vg_Handle) or die();
}
if($DEBUG)
echo "Database " . $vg_Database . " selected.<br>";
?>
jQueryAjaxChat.js
PHP-kod:
function fetchMessages()
{
$.ajax({
method: "get",
url: "getMessages.php",
data: "",
success: function(result) { $("#messages").html(result); }
});
setTimeout('fetchMessages()', 1000);
}
$(document).ready(function(){
fetchMessages();
$("#message-send").click(
function()
{
var message = $("#message").val();
var username = $("#username").val();
if(username == "") {
username = "anonymous";
}
if(message == "") {
$("#errsucc").html("<h2>Please enter a message.</h2>");
return false;
}
$.ajax({
method: "get",
url: "sendMessages.php",
data: "username=" + username + "&message=" + message,
success: function(result) { $("#errsucc").html(result); }
});
$("#message").val("");
return false;
}
);
});
sendMessages.php
PHP-kod:
<?php
require_once("libs/libsql.php");
$message = mysql_real_escape_string($_GET['message']);
$username = mysql_real_escape_string($_GET['username']);
$result = mysql_query("INSERT INTO messages (message, username, added) VALUES (
'$message', '$username', NOW())");
if($result > 0)
echo "Message sent!";
?>
Hela paketet finns att ladda ner här:
http://data.fuskbugg.se/skalman02/ajaxchat.zip
Är det någon som har tips eller ser något som är osäkert eller dylikt, dålig programmeringsstruktur?
obs libsql.php är väldigt gammal..
MVH Kekke