Ärger mit einer Funktion

Hallo zusammen,

ich habe ärger mit folgender Funktion:

function statistic() {
 if (isset ($\_COOKIE['meineWebseite\_SessionID'])):
 echo "Das Cookie ist vorhanden ...";
 else:
 echo "Das Cookie ist **nicht** vorhanden ...";
 mysql\_db\_query("$datenbank", "insert into statistic (id, date, session\_id, lang\_user, ip, user\_agent) values ('', '$datum $uhrzeit', '$session\_id', '$sp\_browser', '$ip', '$user\_agent')" or die ("Error!"));
 endif;
}

… und die Funktion wird so aufgerufen …

statistic\_new\_visitor();

Rufe ich nun die Funktion auf, dann gibt mir die Funktion die „echos“ wieder der „mysql_db_query“ wird aber nicht ausgeführt.

Rufe ich aber den „mysql_db_query“ ausserhalb der Funktion auf, wird der DB Eintrag gemacht.

Was zum Teufel mache ich falsch ???
Gruß Emilio

Hallo

mysql_db_query("$datenbank", "insert into statistic (id,…

soweit ich das sehe, sind sowohl $datenbank als auch alle anderen Variablen in der Funktion nicht bekannt.
Entweder konstant setzen, oder übergeben

Viel Spass

Harald

Hallo

mysql_db_query("$datenbank", "insert into statistic (id,…

soweit ich das sehe, sind sowohl $datenbank als auch alle
anderen Variablen in der Funktion nicht bekannt.
Entweder konstant setzen, oder übergeben

Hallo Harald,

zum testen habe ich nach dem „mysql_db_query“ folgende echo-Anweisung ausgegeben …

echo "$datum $uhrzeit $session\_id $sp\_browser $ip $user\_agent $datenbank ";

Das Script gibt mir alle Variablen aus, nur diese blöder Datenbank Eintrag will nicht funktionieren.

Gruß Emilio

dann…
das da einfügen:

function statistic() {

global $datenbank;

if (isset ($_COOKIE[‚meineWebseite_SessionID‘])):

mysql_db_query("$datenbank", "insert into statistic (id,

Die Anführungsstriche um $datenbank sind unnötig. Außerdem ist $datenbank innnerhalb der Funktion nicht verfügbar, wenn du es nicht als Parameter übergeben hast. Alternativ kannst du ein:

global $datenbank;

als erste Zeile in die Funktion schreiben, das ist aber eher ein Notbehelf.

Noch ein Tipp:
Schreib hinter den Aufruf von mysql_db_query (die Funktion ist übrigens veraltet) noch folgende Zeile:

echo mysql_error();

dann bekommst du die Fehlermeldung von der Datenbank, falls eine aufgetreten ist. So findest Du Datenbankfehler schneller.

Gruß

Marian