Melinbonian Δημοσ. 17 Ιουνίου 2008 Δημοσ. 17 Ιουνίου 2008 Όπως φαίνεται από το τίτλο, θέλω έναν μετρητή πολύ απλό, που να μη μετράει με βάση IP, με απλή επίσκεψη μόνο. Όλα τα έτοιμα που βρήκα νομίζω είναι με Ip. Thnks!
shevchenko7 Δημοσ. 17 Ιουνίου 2008 Δημοσ. 17 Ιουνίου 2008 ><? $ct = fopen("counter.txt", "r"); $current = fread($ct,filesize('counter.txt')); echo $current; $ncurrent = $current + 1; fclose($ct); $ct2 = fopen("counter.txt","w"); fwrite($ct2, $ncurrent); fclose($ct2); ?> Θα φτιάξεις ένα αρχείο counter.txt και θα γράψεις ένα μήδεν στην αρχή. τον παραπάνω κώδικα θα τον βάλεις στη σέλιδα που θές να καταγράφει και να εμφανίζει τον μετρητή.
HighT3ch Δημοσ. 18 Ιουνίου 2008 Δημοσ. 18 Ιουνίου 2008 Το θέμα είναι ότι κάτι τέτοιο κάνει count ακόμα και τα reloads στην σελίδα (σκέψου να αρχίσεις τα απανωτά F5), άρα πόσο ρεαλιστική είναι μια τέτοια μέτρηση; Τουλάχιστον κάνε κάτι τέτοιο > <? session_start(); if(isset($_SESSION['current_session']) && !empty($_SESSION['current_session'])) { if($_SESSION['current_session'] != session_id()) { sessionCount(); $_SESSION['current_session'] = session_id(); } } else { sessionCount(); $_SESSION['current_session'] = session_id(); } function sessionCount() { $ncurrent = readCount() + 1; $ct2 = fopen("counter.txt","w"); fwrite($ct2, $ncurrent); fclose($ct2); } function readCount() { $ct = fopen("counter.txt", "r"); $current = fread($ct, filesize('counter.txt')); fclose($ct); return $current; } echo readCount(); ?>
Melinbonian Δημοσ. 19 Ιουνίου 2008 Μέλος Δημοσ. 19 Ιουνίου 2008 Βασικά το ζητάει μια άσκηση και δε θέλει IP (δε ξέρω γιατί, αλλά το τονίζει). Επίσης, δοκίμασα το δικό σου shevchenko7 αλλά δεν δουλεύει. Το κάνω save σε ένα php αρχείο, βάζω και ένα αρχείο counter.txt βάζοντας μια τιμή, αλλά δε μου εμφανίζει τίποτα. ΤΟ echo μάλλον δε δουλεύει. Any ideas?
HighT3ch Δημοσ. 20 Ιουνίου 2008 Δημοσ. 20 Ιουνίου 2008 Αν δεν σου δουλεύει το echo είναι σαν να μου λες δεν δουλεύει η PHP. Δεν μπορεί να μην σου δουλεύει εκτός και αν δεν έχεις κάνει σωστό setup της PHP στον Apache. To counter.txt το έχεις στο ίδιο μέρος με την php σελίδα σου; Βεβαιώσου ότι το έχεις ονομάσει σωστά και ότι μέσα στο counter.txt έχεις γράψει 0. Λογικά θα έπρεπε να δουλεύει. Το δικό μου variation χρησιμοποιεί την ίδια τεχνική με του shevchenko7 απλά εγώ κάνω count μόνο σε κάθε νέο session και όχι κάθε reload της page.
CyberCr33p Δημοσ. 20 Ιουνίου 2008 Δημοσ. 20 Ιουνίου 2008 Μπορείς να το κάνεις και με cookies: http://www.w3schools.com/PHP/php_cookies.asp
shevchenko7 Δημοσ. 21 Ιουνίου 2008 Δημοσ. 21 Ιουνίου 2008 Βασικά το ζητάει μια άσκηση και δε θέλει IP (δε ξέρω γιατί, αλλά το τονίζει). Επίσης, δοκίμασα το δικό σου shevchenko7 αλλά δεν δουλεύει. Το κάνω save σε ένα php αρχείο, βάζω και ένα αρχείο counter.txt βάζοντας μια τιμή, αλλά δε μου εμφανίζει τίποτα. ΤΟ echo μάλλον δε δουλεύει. Any ideas? Τα βασικά πιστεύω να τα ακολουθείς, δηλαδή να το τρέχεις σε php web server, να έχεις ρυθμίσει τα permissions για το txt κτλ. Εγω έδωσα το βασικό script και σωστά ο HighT3ch πρόσθεσε το session όπως εναλλακτικά μπορείς με cookies που αναφέρει ο CyberCr33p.
Melinbonian Δημοσ. 21 Ιουνίου 2008 Μέλος Δημοσ. 21 Ιουνίου 2008 Αυτό για τα permissions δε ξέρω... Τι πρέπει να κάνω?Ναι στον server μέσα είμαι, τα άλλα echo που έχω είναι μια χαρά.
HighT3ch Δημοσ. 22 Ιουνίου 2008 Δημοσ. 22 Ιουνίου 2008 Αν δεν ενεργοποιήσεις το debugging στο server σου δεν κάνουμε δουλειά. Δεν μπορούμε να μυρίσουμε τα νύχια μας τι ακριβώς δεν του αρέσει του συστήματός σου. Βάλε αυτά πάνω πάνω στον κώδικα. > error_reporting(E_ALL); ini_set('display_errors', '1');
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.