SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.09.2007, 16:51:01
KageMurai KageMurai ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 7
Frage zu MySQL und PHP

Hallo,

ich versuche gerade einen Online Counter zu schreiben. Da HTTP ja ein zustandsloses Protokoll ist und ich keine Cookies, etc. verwenden will, muss ich auf Sachen wie die IP zurückgreifen. Ich trage die IP eines jeden Users in einer DB ein, zusammen mit dem aktuellen Zeitwert, und errechne daraus, wer anscheinend noch online ist.

PHP-Code:
$ip $_SERVER['REMOTE_ADDR'];
$zeit=time();
mysql_query("INSERT INTO online(ip,expire) VALUES ('$ip','$zeit')",$connection) or die (mysql_error()); 
Wie kann ich sichergehen, dass eine IP nicht doppelt in die DB eingetragen wird? Ich brauche also sowas wie if(ip != bereits_vorhanden).

Vielen dank!

KageMuria
Mit Zitat antworten
  #2  
Alt 03.09.2007, 17:39:57
defabricator defabricator ist offline
Senior Member
 
Registriert seit: Sep 2007
Ort: Potsdam
Alter: 55
Beiträge: 1.020
AW: Frage zu MySQL und PHP

Erstelle für die Tabelle einfach einen UNIQUE index für das Feld `ip`.
Mehr dazu steht bei http://dev.mysql.com/doc/refman/5.0/...ate-table.html

Läuft bei AOL Nutzern eigentlich immer noch jeder HTTP Request über einen beliebigen Proxy, so dass sich die IP ständig ändert?
Mit Zitat antworten
  #3  
Alt 03.09.2007, 18:33:40
cofi cofi ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 3
AW: Frage zu MySQL und PHP

Ich denke, dass die Idee mit der Datenbank nicht so gut ist.

Der Ansatz mit uniq funktioniert, aber Du musst die IP-Einträge wieder löschen , das reicht aber nicht aus. Die Datenbank wächst und wächst, so dass Du die DB wieder reorganisieren und komprimieren musst.

Denn gelöscht ist nicht gleich aus der DB entfernt.
Mit Zitat antworten
  #4  
Alt 03.09.2007, 18:41:45
MatMel MatMel ist offline
Member
 
Registriert seit: Aug 2005
Beiträge: 644
MatMel eine Nachricht über ICQ schicken
AW: Frage zu MySQL und PHP

Wenn er bei jedem Aufruf immer alle IP Adressen löscht die älter als ein bestimmter Zeitpunkt sind sollte die Datenbank doch immer bei einer überschaubaren Größe bleiben...
Mit Zitat antworten
  #5  
Alt 03.09.2007, 18:51:58
KageMurai KageMurai ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 7
AW: Frage zu MySQL und PHP

Hmm, wenn ihr meint, dass es nicht so gut ist, sagt mir bitte eine Möglichkeit, die besser ist. Cookies möchte ich nicht verwenden, da sie nicht jeder aktiv hat

Vielen Dank!

KageMurai
Mit Zitat antworten
  #6  
Alt 03.09.2007, 20:24:45
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Frage zu MySQL und PHP

29.15. Warum verwendet PHP nicht die IP-Nummer des Browsers als Schutz gegen eine Übernahme der Session?
http://www.php-faq.de/q/q-sessions-ip.html
Mit Zitat antworten
  #7  
Alt 03.09.2007, 21:06:29
FabianWesner FabianWesner ist offline
Junior Member
 
Registriert seit: May 2007
Beiträge: 170
AW: Frage zu MySQL und PHP

Die IP ist wirklich keine gute Idee, da sie einen Besucher nicht eindeutig indentifiziert. Bei AOL wechselt die IP bei jedem Seitenaufruf. Wenn nur ein 1 Besucher von AOL auf deiner Seite ist und 10 mal klickt, dann zeigt dein Counter schon 10 Besucher an.

Wenn du kein Cookie verwenden willst, gibt es nur noch die Möglichkeit eine Session-ID per URL weiterzugeben:
PHP-Code:
index.php?sessionid=123 
Statt der IP speicherst du die Session-ID in der Datenbank.

Es gibt ansonsten keine Möglichkeit einen Besucher ohne Session-ID zu identifizieren.
__________________
Fabian Wesner - Freelancer: Webentwicklung und Programmierung

Geändert von FabianWesner (03.09.2007 um 21:08:35 Uhr)
Mit Zitat antworten
  #8  
Alt 03.09.2007, 21:32:45
KageMurai KageMurai ist offline
Anfänger
 
Registriert seit: Sep 2007
Beiträge: 7
AW: Frage zu MySQL und PHP

Hallo,

das heißt es gibt nur diese 3 Möglichkeiten?

Hat es schlechte Auswirkungen, wenn ich bereits meine Homepage auf folgende Weise aufbaue:

index.php?page=home&id=12

?

Vielen Dank!

Kagemurai
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
HTML Quelltext einer mit php Seite erzeugten Seite in .txt oder MySQL speichern. Berentzen PHP Grundlagen 2 14.06.2006 13:36:11
Probleme mit PHP und mySQL, Select xy as yz funktioniert nicht KickMuck MySQLi/PDO/(MySQL) 1 04.03.2006 13:24:31
anmeldung von usern mit php und mysql general_xxx PHP Grundlagen 2 02.03.2006 19:19:05
Bestimmtes Feld in MySQL auslesen und Wert in PHP Variable schreiben pregopresto MySQLi/PDO/(MySQL) 0 28.11.2005 20:43:00
mySQL DB erstellen und unter PHP nutzen norial MySQLi/PDO/(MySQL) 1 25.10.2004 12:01:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:06:48 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt