Willkommen in der Webstatt
User-1 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.xyz-70.bierquartier.de/fun/referer.php referer-seite
http://www.xyz-70.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?
User-1 am 13.04.06 12:44

weis da keiner was?

User-2 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);
}


xyz-141el

User-1 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