qualitum logo
Kekkes Simpla Ajax Chat

PHPportalen Forum Index » Tips och Trix
Lägg ett bokmärke på hela tråden
Skapa nytt inlägg   Svara på inlägget
Visa föregående ämne :: Visa nästa ämne  
Startad av: Meddelande
Kekkee



Medlem i: 2571 dagar

Status: Offline



#701926
Inlägg Skrivet: 2011-02-23 21:30      Ämne: Kekkes Simpla Ajax Chat Citera

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:
1:
 
2:
<?php
3:
   session_start();
4:
   
5:
   include("libs/libsql.php");
6:
?>
7:
 
8:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
9:
 
10:
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
11:
 
12:
<html xmlns="http://www.w3.org/1999/xhtml">
13:
 
14:
<head>
15:
 
16:
<title>
17:
   Ajax jQuery chat example!
18:
</title>
19:
 
20:
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
21:
 
22:
<link rel="stylesheet" type="text/css" href="styles/style.css" />
23:
<script type="text/javascript" src="js/jquery.js"></script>
24:
<script type="text/javascript" src="js/jQueryAjaxChat.js"></script>
25:
 
26:
</head>
27:
 
28:
<body>
29:
   <div id="content">
30:
      <div id="messages">
31:
         Loading messages..
32:
      </div>
33:
      <div id="message-div">
34:
         <form method="post" action="">
35:
            Username: <br />
36:
            <input type="text" id="username" name="username"></input><br />
37:
            Message: <br/>
38:
            <input type="text" id="message" name="message"></input>
39:
            <input type="submit" id="message-send" value="Send"></input>
40:
         </form>
41:
      </div>
42:
      <div id="errsucc">
43:
         
44:
      </div>
45:
   </div>
46:
</body>
47:
 
48:
</html>
49:
 


styles.css
PHP:
1:
 
2:
body {
3:
   background#181818;
4:
   font11px/165'Lucida Grande'GenevaVerdanaArialHelveticasans-serif;
5:
}
6:
 
7:
#content {
8:
}
9:
 
10:
#messages {
11:
   colorwhite;
12:
   background#763;
13:
   margin-leftauto;
14:
   margin-rightauto;
15:
   width600px;
16:
   padding5px;
17:
}
18:
 
19:
#message-div {
20:
   colorwhite;
21:
   background#777;
22:
   margin-leftauto;
23:
   margin-rightauto;
24:
   width600px;
25:
   padding5px;
26:
}
27:
 
28:
#errsucc {
29:
   color#01EE20;
30:
   background#777;
31:
   margin-leftauto;
32:
   margin-rightauto;
33:
   width600px;
34:
   padding5px;
35:
}
36:
 
37:
#errsucc h2{
38:
   color#EE4225;
39:
}
40:
 
41:
#message-div input#username {
42:
   margin-left0px;
43:
}
44:
 
45:
#message-div input#message {
46:
   width500px;
47:
}
48:
 
49:
#message-div input[type=submit] {
50:
   width90px;
51:
}
52:
 
53:
#message-send {
54:
cursor:pointer;
55:
border:outset 2px #ccc;
56:
background:#aaa;
57:
color:#444;
58:
font-weight:bold;
59:
}
60:
 


getMessages.php
PHP:
1:
 
2:
<?php
3:
   require_once("libs/libsql.php");
4:
   $result mysql_query("SELECT * FROM messages ORDER BY added DESC LIMIT 0, 15");
5:
   
6:
   $retHtml "";
7:
   
8:
   while($row mysql_fetch_array($result)) {
9:
      $retHtml .= strip_tags($row['username']) . ": " strip_tags($row['message']) . "<br />";
10:
   }
11:
 
12:
   echo $retHtml;
13:
?>
14:
 


libsql.php
PHP:
1:
 
2:
<?php
3:
 
4:
$DEBUG false;
5:
 
6:
$vg_Username "root";
7:
$vg_Password "dittLOSEN";
8:
$vg_Database "databas";
9:
$vg_DatabaseIP "localhost";
10:
 
11:
 
12:
//Anslut till databasen
13:
if($DEBUG)
14:
{
15:
   $vg_Handle mysql_connect($vg_DatabaseIP$vg_Username$vg_Password
16:
   or die("Could not connect to " $vg_DatabaseIP);
17:
}
18:
else
19:
{
20:
   $vg_Handle mysql_connect($vg_DatabaseIP$vg_Username$vg_Password);
21:
}
22:
 
23:
if($DEBUG)
24:
   echo "Connected to " $vg_DatabaseIP "<br>";
25:
 
26:
//Välj rätt Databas
27:
if($DEBUG)
28:
{
29:
   mysql_select_db($vg_Database$vg_Handle) or die (" Database not found.");
30:
}
31:
else
32:
{
33:
   mysql_select_db($vg_Database$vg_Handle) or die();
34:
}
35:
 
36:
if($DEBUG)
37:
   echo "Database " $vg_Database " selected.<br>";
38:
 
39:
   
40:
?>
41:
 


jQueryAjaxChat.js
PHP:
1:
 
2:
function fetchMessages()
3:
{
4:
   $.ajax({
5:
      method"get",
6:
      url"getMessages.php",
7:
      data"",
8:
      success: function(result) { $("#messages").html(result); }
9:
   });
10:
      
11:
   setTimeout('fetchMessages()'1000);
12:
}
13:
 
14:
$(document).ready(function(){
15:
   fetchMessages();
16:
   
17:
   $("#message-send").click(
18:
      function()
19:
      {
20:
         var message = $("#message").val();
21:
         var username = $("#username").val();
22:
         
23:
         if(username == "") {
24:
            username "anonymous";
25:
         }
26:
         
27:
         if(message == "") {
28:
            $("#errsucc").html("<h2>Please enter a message.</h2>");
29:
            return false;
30:
         }
31:
         
32:
         $.ajax({
33:
            method"get",
34:
            url"sendMessages.php",
35:
            data"username=" +   username "&message=" message,
36:
            success: function(result) { $("#errsucc").html(result); }
37:
         });
38:
         
39:
         $("#message").val("");
40:
         
41:
         return false;
42:
      }
43:
   );
44:
});
45:
 


sendMessages.php
PHP:
1:
 
2:
<?php
3:
   require_once("libs/libsql.php");
4:
 
5:
   $message mysql_real_escape_string($_GET['message']);
6:
   $username mysql_real_escape_string($_GET['username']);
7:
   $result mysql_query("INSERT INTO messages (message, username, added) VALUES (
8:
                     '$message', '$username', NOW())");
9:
            
10:
   if($result 0)   
11:
      echo "Message sent!";
12:
?>
13:
 


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
 
Till toppen på sidan
Visa användarprofil Skicka privat meddelande
Visa tidigare inlägg:   
Skapa nytt inlägg   Svara på inlägget
PHPportalen Forum Index » Tips och Trix
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet
Du kan inte bifoga filer i detta forum
Du kan inte ladda ner filer från detta forum
Kontakta oss på adressen: info@phpportalen.net
Webbplatsen bygger i grunden på phpBB © 2001, 2002 phpBB Group

Modifieringar har senare gjorts i systemet av PHPportalen
Sid och logotypdesign skapad av Daren Jularic
qualitum logo