Willkommen in der Webstatt
User-1 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?
User-2 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()."')";

User-1 am 21.01.07 15:45

ohne klammern?

User-3 am 21.01.07 15:47

nein mit klammer :D hat xyz-141el sicher nur vergessen

User-2 am 21.01.07 15:50

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

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

User-3 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() ?

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