Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish am 12.04.06 22:05

HALLO

ich hab eine php datei, die den die browserdaten und die referer-page in die datenbank einspeichern soll.
das tut sie auch. allerdings habe ich den verdacht dass zu viele daten eingespeichert werden.
ist irgent ein fehler im code?
warum wird der selbe browsertyp bzw die gleiche refererpage mehrmals angezeigt?
die sollte doch eignentlich nur 1x angezeigt werden.
http://www.fish.bierquartier.de/fun/referer.php referer-seite
http://www.fish.bierquartier.de/fun/referer_test.php anzeigen-seite


//auswahl der tabelle 20_ebene_1
$abfrage_referrer = "SELECT * FROM `20_referrer` ORDER BY `id` DESC";
$ergebnis_referrer = mysql_query($abfrage_referrer);

//auswahl der tabelle 20_ebene_1
$abfrage_user_agent = "SELECT * FROM `20_user_agent` ORDER BY `id` DESC";
$ergebnis_user_agent = mysql_query($abfrage_user_agent);

while($row = mysql_fetch_object($ergebnis_referrer)){
if($_SERVER['HTTP_REFERER'] == $row->referrer){
//ändern der anzahl
$aendern_referrer = "UPDATE `20_referrer` Set `anzahl` = `anzahl`+1 WHERE `referrer` = '".$_SERVER['HTTP_REFERER']."'";
$aenderung_referrer = mysql_query($aendern_referrer) or die(mysql_error());
}

else{
$eintrag_referrer = "INSERT INTO `20_referrer` (`referrer`, `anzahl`) VALUES ('".$_SERVER['HTTP_REFERER']."', '1')";
$eintragen_referrer = mysql_query($eintrag_referrer);
}
}

while($row = mysql_fetch_object($ergebnis_user_agent)){
if($_SERVER['HTTP_USER_AGENT'] == $row->user_agent){
//ändern der anzahl
$aendern_user_agent = "UPDATE `20_user_agent` Set `anzahl` = `anzahl`+1 WHERE `user_agent` = '".$_SERVER['HTTP_USER_AGENT']."'";
$aenderung_user_agent = mysql_query($aendern_user_agent) or die(mysql_error());
}

else{
$eintrag_user_agent = "INSERT INTO `20_user_agent` (`user_agent`, `anzahl`) VALUES ('".$_SERVER['HTTP_USER_AGENT']."', '1')";
$eintragen_user_agent = mysql_query($eintrag_user_agent);
}
}

netcup.de Warum gibt es hier Werbung?
fish fish am 13.04.06 12:44

weis da keiner was?

Michael Michael am 13.04.06 18:33

Doch ;)

Du prüft für jeden Eintrag die IF... ELSE Sache ;)
So sollte es funktionieren (analog für die User Agents):

$ergebnis_user_agent = mysql_query("SELECT COUNT(*) cnt FROM `20_user_agent` WHERE `referrer` = '".$_SERVER['HTTP_REFERER']."'");
$row = mysql_fetch_assoc($ergebnis_referrer);
if($row['cnt'] != 0) {
$aendern_referrer = "UPDATE `20_referrer` SET `anzahl` = `anzahl`+1 WHERE `referrer` = '".$_SERVER['HTTP_REFERER']."'";
$aenderung_referrer = mysql_query($aendern_referrer) or die(mysql_error());
} else {
$eintrag_referrer = "INSERT INTO `20_referrer` (`referrer`, `anzahl`) VALUES ('".$_SERVER['HTTP_REFERER']."', '1')";
$eintragen_referrer = mysql_query($eintrag_referrer);
}


Michael

fish fish am 13.04.06 18:58

danke!

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt