php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.06.2008, 21:23  
Erfahrener Benutzer
 
Benutzerbild von Ind3X
 
Registriert seit: 16.06.2008
Beiträge: 176
Ind3X befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] PHP | MySQL - Log - Skript

Ich habe mir aus Langeweile einen kleinen Skript gebaut der IP, Browser, etc ausließt. Auch aus Langeweile habe ich das ganze mal in meine MySQL-DB schreiben lassen. Nun würde mich folgendes interessieren: Wie realisiere ich es, dass er nur einen weiteren Eintrag macht, wenn die IP nicht bereits in der MySQL-DB steht? Momentan wird es bei jedem Site-Reload eingetragen, das missfällt mir aber. Ich hoffe ihr wisst was gemeint ist, ansonsten sagt es bitte, dann formuliere ich um.

Code:

Code:
<?php 
//Schreibe Ergebnisse in MySQL
$mysqlhost="XXX";
$mysqluser="XXX";
$mysqlpwd="XXX";
$mysqldb="XXX";
$connection=mysql_connect($mysqlhost, $mysqluser, $mysqlpwd) or die("Verbindungsversuch fehlgeschlagen");
mysql_select_db($mysqldb, $connection) or die("Konnte die Datenbank nicht waehlen.");
mysql_query("INSERT INTO logg VALUES('$ip','$host','$os','$browser')") or die(mysql_error());
?>
mfg Ind3X
Ind3X ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.06.2008, 08:05  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Nun du könntest die IP als Primärschlüssel setzen und

Code:
INSERT INTO ... ON DUPLICATE KEY UPDATE ...
verwenden, oder du machst halt vorher ne SELECT Abfrage ob die IP schon in der Datenbank steht.

PS: Willkommen hier im Forum!
cycap ist offline  
Alt 18.06.2008, 06:13  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.268
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Hey,
du kannst den Referer versuchen auszulesen, oder IP, User-Agent und Zeit zum Versuch hinzuziehen, einen doppelten User zu erkennen.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline  
Alt 18.06.2008, 12:22  
Erfahrener Benutzer
 
Benutzerbild von Ind3X
 
Registriert seit: 16.06.2008
Beiträge: 176
Ind3X befindet sich auf einem aufstrebenden Ast
Standard

Hm, ok, aber mal ne dumme Frage, wie lese ich die Werte aus der Datenbank aus?
Ich weiß bis jetzt nur wie man sie einfügt =/
Wie ich sie dann vergleiche bekomme ich hoffentlich hin xD

UND:

Zitat:
Zitat von cycap Beitrag anzeigen
Nun du könntest die IP als Primärschlüssel setzen und
Code:
INSERT INTO ... ON DUPLICATE KEY UPDATE ...
PS: Willkommen hier im Forum!
Danke, und wie genau meinst du dass? ON DUPLICATE KEY UPDATE ?
Noch nie gehört...

mfg Ind3X

Geändert von Ind3X (18.06.2008 um 12:24 Uhr).
Ind3X ist offline  
Alt 18.06.2008, 12:25  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.989
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Diese Infos sind in guten Beispielen im PHP Manual zu finden. mysql verfügt ebenfalls über eine sehr gute Referenz.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
Alt 18.06.2008, 12:43  
dex
Erfahrener Benutzer
 
Registriert seit: 17.06.2008
Beiträge: 195
dex befindet sich auf einem aufstrebenden Ast
dex eine Nachricht über ICQ schicken
Standard

Servus!

So wie ich das verstanden habe, willst du einen Log schreiben, der die IP-Adresse und den Browser-Typ des Besuchers in eine Datenbank schreibt... stimmt das so? - Weil eine Abfrage ob ein Eintrag schon vorhanden ist mit der selben IP - das ist einfach!
Mit ein wenig Php ist die Sache schnell gelöst!

Versuch dich schlau zu machen, dann klappts bestimmt!


MfG, dex
dex ist offline  
Alt 18.06.2008, 13:00  
Erfahrener Benutzer
 
Benutzerbild von Ind3X
 
Registriert seit: 16.06.2008
Beiträge: 176
Ind3X befindet sich auf einem aufstrebenden Ast
Standard

Das Problem ist nicht der Skript, den habe ich schon.
Ich will nur schauen ob es die IP in der DB schon gibt, und wenn nein, dass sie nur dann eingetragen wird. Und, ja ich versuch gerade mich schlau zu machen in dem ich auf php.de nachfrage >.<
Ind3X ist offline  
Alt 18.06.2008, 13:03  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Und dir wurde doch gesagt was du brauchst, hier die MySQL Manual und sogar auf Deutsch:

MySQL :: MySQL 5.1 Referenzhandbuch :: 13.2.4.3 INSERT ... ON DUPLICATE KEY UPDATE
cycap ist offline  
Alt 18.06.2008, 13:26  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Hallo!

Mache doch einfach eine Select Count() Abfrage nach der IP!

Da wird deine Tabelle nach der IP durchsucht und wenn du dann eine if Anweisung schreibst die das noch vergleicht lässt du entweder eintragen in die DB oder eben nicht!

Eigentlich kein riesen Ding!
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 18.06.2008, 13:30  
Moderator
 
Benutzerbild von cycap
 
Registriert seit: 13.02.2008
Beiträge: 6.816
PHP-Kenntnisse:
Fortgeschritten
cycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nettcycap ist einfach richtig nett
Standard

Zitat:
Zitat von litterauspirna Beitrag anzeigen
Hallo!

Mache doch einfach eine Select Count() Abfrage nach der IP!

Da wird deine Tabelle nach der IP durchsucht und wenn du dann eine if Anweisung schreibst die das noch vergleicht lässt du entweder eintragen in die DB oder eben nicht!

Eigentlich kein riesen Ding!
Wenn er es doch mit einem SELECT machen sollte, wozu dann COUNT() ? Wenn ich ihn richtig verstanden habe soll eine IP-Adresse sowieso nur 1 mal vorkommen und dann brauch man die Datenbank doch nicht mit COUNT() belasten... ein einfaches SELECT 1 FROM table WHERE ip = '192.168.0.1' reicht vollkommen aus...
cycap ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] [erledigt] imap_open terminiert Skript ¿ PHP Tipps 2005-2 8 06.11.2008 16:24
[Erledigt] Mysql - UTF-8 PHP 7Style PHP Tipps 2008 2 20.07.2008 00:48
[Erledigt] Bild anzeigen, wenn ein bestimmter Name aus MySQL gelesen wird AJ79 Datenbanken 3 15.07.2008 13:16
[Erledigt] Gästebuch skript ohne mysql do it yourself gandalf PHP Tipps 2008 15 11.07.2008 21:52
[Erledigt] Externer Zugriff auf MySQL. papl PHP Tipps 2008 17 09.07.2008 15:58
[Erledigt] array mySQL Fellkneul Datenbanken 4 29.06.2008 13:03
[Erledigt] GET methode - php skript in &amp;amp;lt;div Block&amp;amp;gt; einbinden Moritz PHP Tipps 2008 4 23.06.2008 14:12
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] MYSQL 5.0 läuft nicht !? sakamoto Datenbanken 9 15.06.2008 13:07
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
[Erledigt] Php Mysql ausgabe in Tabelle / Gruppentrennung xitam PHP Tipps 2008 3 28.05.2008 22:03
[Erledigt] bei LINK Skript ausführen Raito PHP Tipps 2008 2 15.05.2008 13:50
[Erledigt] MySQL - ERROR 1044 bei erstellen einer Datenbank _youngenterpriser_ Datenbanken 2 05.02.2008 17:56
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] problem mit login skript | mysql | cookie PHP Tipps 2004-2 13 07.12.2004 19:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
ip logging mysql, mysql log, php ip logger my sql, mysql log 2008, php mysql log erstellen, mysql log schreiben, mysql log php, php ip logger mysql, ip in mysql datenbank loggen, ip browser abfrage php log, ip php mysql, ips in datenbank loggen mysql, php mysql ip logging, ip stellen mysql log, php mysql ips loggen, php msql zugriffe loggen, ip-log php, php ip-log, php log script mysql de, php log ip address

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:50 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum