Visa ett inlägg
Oläst 2011-02-23, 20:29 #1
Kekke Kekke är inte uppkopplad
Medlem
 
Reg.datum: Feb 2011
Inlägg: 198
Kekke Kekke är inte uppkopplad
Medlem
 
Reg.datum: Feb 2011
Inlägg: 198
Standard Ajax Chat skänkes

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;
    
font11px/165'Lucida Grande'GenevaVerdanaArialHelveticasans-serif;
}

#content {
}

#messages {
    
colorwhite;
    
background#763;
    
margin-leftauto;
    
margin-rightauto;
    
width600px;
    
padding5px;
}

#message-div {
    
colorwhite;
    
background#777;
    
margin-leftauto;
    
margin-rightauto;
    
width600px;
    
padding5px;
}

#errsucc {
    
color#01EE20;
    
background#777;
    
margin-leftauto;
    
margin-rightauto;
    
width600px;
    
padding5px;
}

#errsucc h2{
    
color#EE4225;
}

#message-div input#username {
    
margin-left0px;
}

#message-div input#message {
    
width500px;
}

#message-div input[type=submit] {
    
width90px;
}

#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
Kekke är inte uppkopplad   Svara med citatSvara med citat