Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish am 21.01.07 15:37

auf die gefahr hin, als spammer gebrandmarkt zu werden:

ich hab ein problem mit meiner referrer-datei, die den referrer in die datenbak eintragen soll

$eintrag_referrer = "INSERT INTO `20_referrer` (`referrer`, `anzahl`, `datum`) VALUES ('".$_SERVER['HTTP_REFERER']."', '1', '".$time()."')";

das hat bis jetzt immer gut geklappt. nur wenn der referrer ein minuszeichen enthält gibt er nen fehler aus.

wie umgehe ich das, ohne die minuse zu verändern (schliesslich will ich die referrerseiten von meiner liste aus besuchen...)

netcup.de Warum gibt es hier Werbung?
Michael Michael am 21.01.07 15:40

Ich nehme an referrer ist ein VARCHAR?

$eintrag_referrer = "INSERT INTO `20_referrer` (`referrer`, `anzahl`, `datum`) VALUES ('".mysql_real_escape_string($_SERVER['HTTP_REFERER'])."', '1', '".$time()."')";

fish fish am 21.01.07 15:45

ohne klammern?

nuit nuit am 21.01.07 15:47

nein mit klammer :D hat Michael sicher nur vergessen

Michael Michael am 21.01.07 15:50

Jo hab die öffnende Klammer vergessen ;)
Ich habe es oben mal editiert.

fish fish am 21.01.07 15:51

$eintrag_referrer = "INSERT INTO `20_referrer` (`referrer`, `anzahl`, `datum`) VALUES ('".mysql_real_escape_string($_SERVER['HTTP_REFERER'])."', '1', '".$time()."')";

so gehts leider immer noch nicht. [ http://b-arnold.net/preview/about.php -> ihr wisst schon wo klicken ]

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

$ergebnis_user_agent = mysql_query("SELECT COUNT(*) cnt FROM `20_user_agent` WHERE `user_agent` = '".mysql_real_escape_string($_SERVER['HTTP_REFERER'])."'");
$row = mysql_fetch_assoc($ergebnis_user_agent);
if($row['cnt'] != 0) {
$aendern_user_agent = "UPDATE `20_user_agent` SET `anzahl` = `anzahl`+1 WHERE `user_agent` = '".mysql_real_escape_string($_SERVER['HTTP_REFERER'])."'";
$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 ('".mysql_real_escape_string($_SERVER['HTTP_REFERER'])."', '1')";
$eintragen_user_agent = mysql_query($eintrag_user_agent);
}
?>

nuit nuit am 21.01.07 15:51

achja und vor time dürfte kein $ stehen....weil das ist eine Funktion? oder irre ich mich jetzt da?

was gibt er für einen fehler aus?
mysql_error() ?

fish fish am 21.01.07 15:55

jattest recht , ja.. komisch dass mir das noch nich früher aufgefallen ist :-D

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

Impressum & Kontakt