Προς το περιεχόμενο

PHP Visitor Info


MarioSal

Προτεινόμενες αναρτήσεις

Δημοσ.
<?

$file = './info.txt';

$browser_info = $_SERVER['HTTP_USER_AGENT'];

$ip = $_SERVER['REMOTE_ADDR'];

$server = $_SERVER;

echo "Η IP σας είναι η $ip. <p>Oι πληροφορίες του Browser σας είναι οι $browser_info</p>";

 

(($fp = fopen($file, 'a')) && (fwrite($fp, 'IP = ' . $ip . "\n")) && (fclose($fp)));

?>

 

Έχω αυτόν τον κώδικα στην ιστοσελίδα μου. Θέλω, εάν γίνεται, όταν η IP του επισκέπτη έχει γραφτεί παλαιότερα να μην ξαναγράφεται. Έτσι ώστε να μην έχω δύο φορές την ίδια IP.

Δημοσ.

α) Φτιάξε το με μια βάση δεδομένων (πχ ένας πίνακας που να περιέχει ip και όταν υπάρχει ήδη να μη ξαναγίνεται insert)

β) Μη ψάχνεις αν υπάρχει ήδη, απλά βάλε δίπλα από την ip και την ημερομηνία/ώρα να είναι πιο complete

Δημοσ.

ΕΚΤΟΣ ΑΠΟ ΤΗΝ ΒΑΣΗ ΜΠΟΡΕΙΣ ΝΑ ΨΑΧΝΕΙΣ ΠΡΩΤΑ ΟΛΟ ΤΟ ΑΡΧΕΙΟ ΕΑΝ ΠΕΡΙΕΧΕΙ ΤΗΝ ΙΡ ΚΑΙ ΜΕΤΑ ΝΑ ΠΑΣ ΚΑΙ ΝΑ ΤΟ ΓΡΑΦΕΙΣ ΑΛΛΑ ΑΥΤΟ ΠΟΥ ΕΙΠΕ Ο ΠΡΟΗΓ.ΦΙΛΟΣ ΕΙΝΑΙ Η ΠΙΟ ΣΩΣΤΗ ΛΥΣΗ (ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ->ΠΙΝΑΚΑΣ ΕΠΙΣΚΕΨΕΩΝ(ΤΡΕΙΣ ΣΤΗΛΕΣ ID,IP,VISITDATE));)

Δημοσ.

Για να μπλέκει με αρχεία μάλλον δεν θέλει βάση δεδομένων.

Δες αυτό:

>
<?php
$file = './info.txt';
$browser_info = $_SERVER['HTTP_USER_AGENT'];
$ip = $_SERVER['REMOTE_ADDR'];
$exists = 0;
$server = $_SERVER;
echo "Η IP σας είναι η $ip. <p>Oι πληροφορίες του Browser σας είναι οι $browser_info</p>";
$fp = fopen($file, 'a+');
while (!feof($fp)) {
fscanf($fp,"%[^\n]",$line);
if ('IP = '.$ip == $line) $exists=1;
}
if ($exists==0) fwrite($fp, 'IP = ' . $ip . "\n");
fclose($fp);
?>

Δημοσ.

αφου κανεις χρηση αρχειου θα πρεπει να κανεις πινακα και μετα τον καταλληλο ελενχο το οποιο εχει πιο πολυ μανουρα και σπαταλη πορων του συστηματος απο το να το κανεις σε βαση δεδομενων οπως ειπανε και τα παιδια νωριτερα. παντως αμα θες απλα να βλεπεις χρηστες και οχι να ασχοληθεις βαθυτερα με τον προγραμματισμο θα σου προτεινα τα

 

awstats

google analytics

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...