counting τα μελοι που ειναι συνδεμένα!!

Μια περιοχή όπου τα μέλη μας μπορούν να βάζουν τα PHP scripts που έχουν φτιάξει και θέλουν να τα μοιραστούν με τα υπόλοιπα μέλη.

Συντονιστές: Super-Moderators, WebDev Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
stevebat
Script Master
Δημοσιεύσεις: 307
Εγγραφή: 05 Αύγ 2009 15:54
Επικοινωνία:

counting τα μελοι που ειναι συνδεμένα!!

Δημοσίευση από stevebat » 03 Μάιος 2010 00:03

Μετά από 15 ωρες δουλειά μπόρεσα και έφτιαξα ένα scriptaki που μετράει ποσά μέλη είναι online και εμφανίζει τα username τους (το original script είναι το http://www.freestuff.gr/forums/viewtopic.php?t=19666 από το φίλο Basilakis)
θα χρειαστεί στο table που έχετε τους users να προσθέσετε 3 fields

1) ip να είναι varchar length (50) να είναι NULL,
2) timestamp να είναι int length (100) να μην ειναι NULL δηλαδή NOT NULL και για default να είναι '0'
3) file να είναι varchar length(100) να είναι NULL,
Μετα απο αυτο φτιάχνετε ενα αρχειο ονόματι counter.php
και βάζετε το εξής

Κώδικας: Επιλογή όλων

<?php 
session_start&#40;&#41;;
//balte ta stoixia ths bashs sas
$table = "usertable"; to table me ta meloi mas
$server = "localhost"; 
$db_user = "_user"; 
$db_pass = "pass"; 
$database = "db"; 
$timeoutseconds = 60; //meta apo afto to xrono oxristis tha einai inactive

//get the time
$timestamp = time&#40;&#41;; 
$timeout = $timestamp-$timeoutseconds; 
$ip = $_SERVER&#91;'REMOTE_ADDR'&#93;;
$file = $_SERVER&#91;'PHP_SELF'&#93;;
//syndesh me th bash
mysql_connect&#40;$server, $db_user, $db_pass&#41;; 
mysql_select_db&#40;$database&#41;;
//enimeronoume ti bash an sindethike kapoios
$insert = mysql_query&#40;"update $table set online='1', ip='$ip', file='$file', timestamp='$timestamp' where username='$_SESSION&#91;username&#93;'"&#41;; 
if&#40;!&#40;$insert&#41;&#41; &#123; 
print "Useronline Insert Failed > "; 
&#125; 

//epanaferoume to online 0 an o xrhsths einai inactive gia 60sec
$delete = mysql_query&#40;"update $table set online='0' WHERE timestamp<$timeout"&#41;; 
if&#40;!&#40;$delete&#41;&#41; &#123; 
print "Useronline Delete Failed > "; 
&#125;

//grab the results
$result = mysql_query&#40;"SELECT * FROM $table WHERE online='1' ORDER BY id ASC"&#41;; 
if&#40;!&#40;$result&#41;&#41; &#123; 
print "Useronline Select Error > "; 
&#125; 

//posoi xrhstes einai online
$num = mysql_num_rows&#40;$result&#41;;
while &#40;$user = mysql_fetch_array&#40;$result&#41;&#41;&#123;
//emfanizoume ta apotelesmata
echo "Online Users&#58; $num<br />";
echo "$user&#91;username&#93;"; //edo tha balete to field pou exei to username tou xristh px username
&#125;
?>
Επειδή είμαι σίγουρος οτι θα εχετε προβλήματα μην διστάσετε να ρωτήσετε!!
Δειτε και demo live στη σελιδα μου καντε login test/test και δειτα στο φουτερ τι βγαζει http://bouzouste.info/
διορθώστε με αν εχω λάθος
και πειτε ενα ευχαριστώ αν σας άρεσε
!!!
Τελευταία επεξεργασία από το μέλος stevebat την 17 Ιουν 2010 23:33, έχει επεξεργασθεί 2 φορές συνολικά.

ZeroGravityLG
Δημοσιεύσεις: 6
Εγγραφή: 13 Φεβ 2010 15:55

counting τα μελοι που ειναι συνδεμένα!!

Δημοσίευση από ZeroGravityLG » 08 Μάιος 2010 02:15

Καλησπέρα και απο εμένα..

Μπράβο Bouzouste πολυ καλό..

Ενα ευχαριστώ απο εμένα..

Απάντηση

Επιστροφή στο “PHP τα δικά μας scripts”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες