Webstatt.org - Community seit 2006 - 2012 (2024?)

kann das sein?

Avatar user-180
12.04.2006 20: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'zwinkern";
$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'zwinkern";
$eintragen_user_agent = mysql_query($eintrag_user_agent);
}
}

may the force be with you. but mostly with me.
Avatar user-180
13.04.2006 10:44

weis da keiner was?

may the force be with you. but mostly with me.
Avatar user-253
13.04.2006 16:33

Doch zwinkern

Du prüft für jeden Eintrag die IF... ELSE Sache zwinkern
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']."'"zwinkern;
$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'zwinkern";
$eintragen_referrer = mysql_query($eintrag_referrer);
}


Michael

Avatar user-180
13.04.2006 16:58

danke!

may the force be with you. but mostly with me.