Die letzten 10 Besucher
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abfragen
aufruf
code
datenbank
datum
eintrag
eintragen
ergebnis
ermitteln
jemand
limit
ordern
rot code
schema
server
tun
url
verbindung
zugriff
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
wenn du meinst, von wo er den Link hat, nein
Du kannst zum Beispiel die IP des Users abfragen.
Die einzige Möglichkeit, die mir gerade so einfällt, ist das History Objekt. Jedoch ist der Zugriff da sehr begrenzt. Ich glaube, man kann nur vor und zurück gehen und nicht die Seiten abfragen, auf denen der User gerade war. Das wäre ein zu großes Sicherheitsrisiko -
das gibts...(also habe es schon gesehen)
wurde mir damals ungefähr so erklärt:
// Datenbank öffnen $link = mysql_connect ("Server", "user", "Pass") or die ("keine Verbindung möglich: " .mysql_error()); mysql_select_db ("DB"); // referer ermitteln $ref = getenv("HTTP_REFERER"); // in db schreiben mysql_query(sprintf('insert into referer (datum,ref) VALUES (now(),"%s")', addslashes($ref))); mysql_close ($link);
vieleicht versteht das jemand von euch... -
$HTTP_REFERER ist die Variable, in welcher die Herkunftsadresse drinsteht. Ich würde also einfach bei jedem Aufruf deiner Seite diese Variable in eine MySQL-DB speichern. Neben der Herkunftsadresse speicherst du dann noch einen Timestamp und machst eine Abfrage nach dem Schema "SELECT * FROM aufrufer ORDER BY timestamp DESC LIMIT 10"
MfG
sebigisler
//EDIT: Wie ich sehe, weisst du bereits, wie du die Aufrufer speicherst; für dich ist also nur noch die Abfrage interessant:
$abfrage = "SELECT * FROM aufrufer ORDER BY timestamp DESC LIMIT 10"; $ergebnis = mysql_query($abfrage); while($row = mysql_fetch_object($ergebnis)) { echo $row->herkunft; }
Beitrag geändert: 8.10.2008 18:15:02 von sebigisler -
lol
tatsächlich^^
das ist einfach zu erklären, allerdings funktioniert das nicht in allen Browsern.
wenn du in php $_SERVER['HTTP_REFERER'] ausgibst, dann wird die Seite ausgegeben, wo du gerade her kommst.
Was du nur noch tun musst ist, die Links in die Datenbank einzutragen.
dafür musst du dich erst mit der Datenbank verbinden, dann die Datenbank auswählen
<?php $link = mysql_connect ("Server", "user", "Pass") or die ("keine Verbindung möglich: " .mysql_error()); mysql_select_db ("DB"); ?>
dann musst du den Link in die Datenbank eintragen wenn HTTP_REFERER nicht leer ist
<?php if(!empty($_SERVER['HTTP_REFERER'])){ $sql = "INSERT INTO `tabellenname` (`spalltenname`) VALUES ('".$_SERVER['HTTP_REFERER']."')";; mysql_query($sql, $link); } ?>
Und dann sollte man die mysql Verbindung wieder schließen mit
<?php mysql_close($link); ?>
Dann musst du nur noch die letzten 10 Einträge aus der Datenbank auslesen und auf deiner Seite ausgeben
EDIT:
sry, zu spät^^
Beitrag geändert: 8.10.2008 23:19:45 von xelax90 -
leider weis ich nicht wie ic das in php schreibe:
<?php $ref = getenv("HTTP_REFERER"); $verbindung = mysql_connect("mysql.lima-city.de", "USER", "PW") or die("Keine Verbindung moeglich"); mysql_select_db("db_110743_3") or die ("Die Datenbank existiert nicht"); $eintrag = " mysql_query(sprintf('insert into referer (datum,ref) VALUES (now(),"%s")', addslashes($ref))); $eintragen = mysql_query($eintrag); mysql_close ($link); ?>
Ist es so richtig? -
Du hast einige Anführungszeichen falsch gesetzt, wie du im Code siehts (ab einer Stelle ist alles rot).
<?php $eintrag = mysql_query(sprintf('insert into referer (datum,ref) VALUES (now(),"%s")', addslashes($ref))); $eintragen = mysql_query($eintrag); mysql_close ($link); ?>
Gruß, Prog
Beitrag geändert: 8.10.2008 21:07:02 von prog -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage