Zähler
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aufruf
code
datei
datum
ersten datei
fehler
hilfe
index
leerer string
letzter speicherung
minute
richtig code
sparen
speichern
tabelle
tippfehler
url
verwaltung
zeichen
zeile
-
Ich wollte gerade eben noch einen Zähler einbauen
der die Besucher zählt (hab ein Tut geschaut)
Nun ist es so wnn ich die PHP Datei öffne www.xxxxx.lima-coty.de/xxx.php
dann kommt eine Seitensehlermeldung
Meine php datei sieht momentan so aus:
<?php include("mysql.php"); mysql_connect($mysql_host,$mysql_user,$mysql_password) or die("connect_Error"); mysql_select_db($mysql_database) or die("DB_Error"); $ip = $_SERVER["REMOTE_ADOR"]; $timestamp = time(); $insert = mysql_query("INSERT INTO 'visitor' VALUES('$ip','$timestamp')"); if ($insert == true) {echo "Ok";}else {echo "Fail";} ?>
Und mein mysql.php so:
<?php $mysql_host = mysql.lima-city.de; $mysql_user = USERxxxxxxx; $mysql_password = xxxxxxxxxx; $mysql_database = visitors; ?>
Es ist erst de Anfang aber die seite läd es nicht...
Hilfe
Lg swissmcs
Beitrag zuletzt geändert: 4.7.2012 23:53:13 von swissminecraftserver -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Also erstens sehe ich da einen Tippfehler in Zeile 6 der ersten Datei.
Statt dem Index 'REMOTE_ADOR' meintest du sicher 'REMOTE_ADRR'
Was gibt denn die Fehlermeldung aus?
-
esfl schrieb:
Und du hast auch einen Tippfehler, weil es
Statt dem Index 'REMOTE_ADOR' meintest du sicher 'REMOTE_ADRR'
heißtREMOTE_ADDR
swissminecraftserver schrieb:
Und was meinst du damit? "500 Internal Error"?
dann kommt eine Seitensehlermeldung -
Jetzt kommt
connect_Error
vorher habe ich ein ; vergessen da kam ein Seiten Error
Aber ich schaue noch wegen dem REMOTE_ADDR
lg -
Es ist natürlich sinnvoll, die richtigen Zugangsdaten zu verwenden. Du hast:
$mysql_host = mysql.lima-city.de; $mysql_user = USERxxxxxxx; $mysql_password = xxxxxxxxxx; $mysql_database = visitors;
richtig ist:
$mysql_host = "mysql.lima-city.de"; $mysql_user = "USERxxxxxxx"; $mysql_password = "xxxxxxxxxx"; $mysql_database = "db_260632_1";
Der Datenbankname steht unmissverständlich in der Verwaltung.
Im Übrigen sind String-Variablen in PHP mit " oder mit ' anzugeben -
auch die Zeile ist so nicht ganz richtig,
if ($insert == true) {echo "Ok";}else {echo "Fail";}
auch wenn's wahrscheinlich keinen Fehler ergibt
bei bool Prüfung (true/false) nimmt man === (drei mal = Zeichen)
if ($insert === true) {echo "Ok";}else {echo "Fail";}
willst Du wirklich jeden Aufruf speichern,
oder je IP nur alle x Minuten (Counter mit IP-Sperre) ?
dann musst Du vor Speichern prüfen, ob die IP schon in Tabelle steht
und auch, ob die Zeit seit letzter Speicherung schon lange genug her ist
-
digg schrieb:
Die Zeile ist richtig, denn:
auch die Zeile ist so nicht ganz richtig,
if ($insert == true) {echo "Ok";}else {echo "Fail";}
auch wenn's wahrscheinlich keinen Fehler ergibt
bei bool Prüfung (true/false) nimmt man === (drei mal = Zeichen)
wenn hier ein TRUE oder FALSE zurückkommt erzielt der normale Vergleichsoperator genau das was gewünscht ist. Dabei muss nicht noch extra geprüft werden ob es sich auch tatsächlich um einen boolean-Wert handelt, das ist hier völlig egal.
Da hier sowieso nie NULL/0/(leerer String)/... als gültige Rückgabe kommen kann kannst du dir den Typenvergleich sparen. -
esfl schrieb:
Statt dem Index 'REMOTE_ADOR' meintest du sicher 'REMOTE_ADRR'
hackyourlife schrieb:
Und du hast auch einen Tippfehler, weil es
REMOTE_ADDR
heißt
Richtig... Ich schiebs einfach mal auf die späte Uhrzeit gestern
Beim Berichtigen sollte man eigentlich dann schon ganz genau gucken
-
Aber jetzt wo ich den Fehler behoben
habe kommt "Fail" aber ich weiss nicht wieso...
Ich habe alle Daten in die myql richtig eingegeben
lg swissmcs
Das mit der msol habe ich nun auch behoben
aber es kommz immer dieser Sch____ Fail !!??
Ich weiss jetzt nicht mehr weiter :(
Beitrag zuletzt geändert: 5.7.2012 15:49:54 von swissminecraftserver -
Nehm mal die einfachen Anführungszeichen von deinem Tabellen-Namen weg
Zeile 9 (im angegebenen Quelltext)
visitor anstatt 'visitor' -
esfl schrieb:
Oder durch
Nehm mal die einfachen Anführungszeichen von deinem Tabellen-Namen weg
ersetzen...`
ist jedenfalls falsch.'
Also so würde es auch funktionieren:$insert = mysql_query("INSERT INTO `visitor` VALUES('$ip','$timestamp')");
Allerdings ist das bei deinem Tabellennamen völlig egal ob du die weglässt oder hinschreibst... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage