Πρόβλημα με script [online users]

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

Πρόβλημα με script [online users]

Δημοσίευση από EneMe » 19 Ιαν 2010 16:25

Kατέβασα ένα script από το hot scripts το οποίο δείχνει τους online users έχοντας ως βάση δεδομένων ένα txt αρχείο.

Παραθέτω κώδικες:

config.php

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

<?php
// you may not remove the links linking back to SimplePHP Scripts or
// it'll be a copyright violation and against the terms of usage

$showonline = "<a href=\"http&#58;//www.peachydandy.com/\" target=\"_blank\"><b><online></b> users online</a>";
$firstonline = "<a href=\"http&#58;//www.peachydandy.com/\" target=\"_blank\"><b>1</b> user online</a>";
$datafile = "./online.txt";
$recordfile = "./record.txt";
$settings = 1;

?>
online.php

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

<?php
	if&#40;phpversion&#40;&#41; < 4.1&#41; &#123;
	 $_SERVER = $HTTP_SERVER_VARS;
	&#125;

	if&#40;!$settings&#41; &#123;
	 include&#40;"./config.php"&#41;;
	&#125;
 $seconds = 60;
 $past = time&#40;&#41;-$seconds;
 $now = time&#40;&#41;;


 $write = "$_SERVER&#91;REMOTE_ADDR&#93;|$_SERVER&#91;HTTP_REFERER&#93;|$now|\n";
 $file = file&#40;$datafile&#41;;
	for&#40;$i=0;$i<count&#40;$file&#41;;$i++&#41;&#123;
	 $userdata = explode&#40;"|", $file&#91;$i&#93;&#41;;
		if&#40;$userdata&#91;2&#93; > $past && $userdata&#91;0&#93; != $_SERVER&#91;REMOTE_ADDR&#93;&#41; &#123;
			 $write .= "$userdata&#91;0&#93;|$userdata&#91;1&#93;|$userdata&#91;2&#93;|\n";
		&#125;
	&#125;
	if&#40;$ofile = @fopen&#40;$datafile,"w"&#41;&#41;&#123;
	 @fputs &#40;$ofile, $write&#41;;
	 @fclose&#40;$ofile&#41;;
	&#125; else &#123;
	 echo "document.write&#40;'<font color=FF0000>You must CHMOD all files to 777!</font>'&#41;;";
	&#125;
 $count = count&#40;file&#40;$datafile&#41;&#41;;
 $record = file&#40;$recordfile&#41;;
 $record = explode&#40;"``x",$record&#91;0&#93;&#41;;
	if&#40;$count > $record&#91;0&#93;&#41;&#123;
		if&#40;$rfile = @fopen&#40;$recordfile,w&#41;&#41;&#123;
		 $data = $count."``x".time&#40;&#41;;
		 @fputs &#40;$rfile, $data&#41;;
		 @fclose&#40;$rfile&#41;;
		&#125; else &#123;
		 echo "document.write&#40;'<font color=FF0000>You must CHMOD all files to 777!</font>'&#41;;";
		&#125;
	&#125;
	if&#40;$count > 1&#41;&#123;
	 $visitors = str_replace&#40;"<online>","$count",$showonline&#41;;
	&#125; else &#123;
	 $visitors = str_replace&#40;"<online>","$count",$firstonline&#41;;
	&#125;
echo &#40;"document.write&#40;'$visitors'&#41;;"&#41;;
?>
record.txt

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

0``x1045018273
online.txt άδειο


Oι οδηγίες είναι:
Thanks for downloading and using Online Users.

-----------------------------------------------------------
License & Copyright
-----------------------------------------------------------
This script is licensed under the terms of the GNU General Public License

You may not do the following:
- remove any copyright links
- resell, copy, license, or anything that uses part(s) or whole of this script without written permission
- Script Index: you must get permission before adding to your script index

-----------------------------------------------------------
Installation & Setup
-----------------------------------------------------------
- Upload all files to your web server and chmod the files to 777
Make sure all files are CHMOD to 77 or it might not work correctly!

Adding to your website:
<script language="JavaScript1.1" src="PATH-TO-FILE/online.php"></script>
- Note: add this between <body> and </body>
Δοκίμασα να το βάλω σε ένθεμα κώδικα με joomla και δεν εμφάνιζε τίποτα.

Δοκίμασα να καλέσω κατ'ευθείαν το αρχείο και μου βγάζει:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request


Έκανα όλα τα αρχεία 777 όπως λέει.

Υγ: το path το δοκίμασα:
- online.php
- /online.php
- ./online.php
- http://www.lalala.gr/online.php

Καμιά ιδέα;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Πρόβλημα με script [online users]

Δημοσίευση από fafos » 19 Ιαν 2010 16:40

gia bgale ola ta @ apo to script kai ksanadokimase mhpos dinei kapoio lathos sto diavasma ton txt
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

Πρόβλημα με script [online users]

Δημοσίευση από EneMe » 19 Ιαν 2010 17:31

Τίποτα, δυστυχώς :(

Kανένα άλλο παρόμοιο script χωρίς χρήση mysql, κλπ;

zeppos
Δημοσιεύσεις: 431
Εγγραφή: 26 Μαρ 2006 10:43
Τοποθεσία: Kyklades
Επικοινωνία:

Πρόβλημα με script [online users]

Δημοσίευση από zeppos » 19 Ιαν 2010 17:48

Για δοκίμασε αυτό:

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

<?php
$rip = $_SERVER&#91;'REMOTE_ADDR'&#93;;
$sd  = time&#40;&#41;;
$count = 1;
$maxu = 1;

$file1 = "ip.txt";
$lines = file&#40;$file1&#41;;
$line2 = "";

foreach &#40;$lines as $line_num => $line&#41;
	&#123;
		if&#40;$line_num == 0&#41;
		&#123;
		   $maxu = $line;
		&#125;
		else
		&#123;
			//echo $line."<br>";
			$fp = strpos&#40;$line,'****'&#41;;
			$nam = substr&#40;$line,0,$fp&#41;;
			$sp = strpos&#40;$line,'++++'&#41;;
			$val = substr&#40;$line,$fp+4,$sp-&#40;$fp+4&#41;&#41;;
			$diff = $sd-$val;

			if&#40;$diff < 300 && $nam != $rip&#41;
				&#123;
				 $count = $count+1;
				 $line2 = $line2.$line;
				 //echo $line2; 
				&#125;
		&#125;
	&#125;

$my = $rip."****".$sd."++++\n";
if&#40;$count > $maxu&#41;
	$maxu = $count;

$open1 = fopen&#40;$file1, "w"&#41;;
fwrite&#40;$open1,"$maxu\n"&#41;;
fwrite&#40;$open1,"$line2"&#41;;
fwrite&#40;$open1,"$my"&#41;;
fclose&#40;$open1&#41;;

echo "<table width=auto  align='right' bgcolor=#fffff1 style=\"border&#58; 1px green solid;\">
<tr><td align=right>";
echo "<font size='1'>Total visitors online&#58; <font color=red>$count </font> || ";
echo "Max visitors at a time &#58;<font color=red>  $maxu</font>";
echo "</td></tr></table>";
?>
Βάλε στον ίδιο φάκελλο και ένα ip.txt με 777 και πες μου αν δούλεψε γιατί δεν το δοκίμασα πρόσφατα..[/code]
Εικόνα

Άβαταρ μέλους
EneMe
Super Moderator
Δημοσιεύσεις: 13307
Εγγραφή: 09 Ιούλ 2002 13:29
Τοποθεσία: Στο κέντρο της Ελλάδας!
Επικοινωνία:

Πρόβλημα με script [online users]

Δημοσίευση από EneMe » 19 Ιαν 2010 22:34

Δούλεψε περίφημα!!!!! :D :D :D

Ερώτηση: το 300 είναι ο χρόνος διατήρησης;

zeppos
Δημοσιεύσεις: 431
Εγγραφή: 26 Μαρ 2006 10:43
Τοποθεσία: Kyklades
Επικοινωνία:

Πρόβλημα με script [online users]

Δημοσίευση από zeppos » 20 Ιαν 2010 08:08

Το 300 είναι η διαφορά χρόνου που σε συνδυασμό με τον έλεγχο για ίδια IP, προσθέτει 1 χρήστη
Εικόνα


Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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