Seite 2 von 2
Verfasst: 11.05.2008 12:57
von gn#36
Das global muss in die Funktion! Nicht alleine in die Datei.
Und zwar sogar in der Funktion vor der Benutzung von $date, sonst bringt das ganze nix... ein Global in einer Datei bringt nur ganz selten was (nämlich, wenn der Include der Datei innerhalb einer Funktion stattfindet, womit der Code virtuell wieder in der Funktion steht...)
Verfasst: 11.05.2008 13:05
von h32Lg
Also ich habs so:
index.php:
Code: Alles auswählen
<?php
//Sessionmanagement
session_name ("SID");
session_start();
//Includes hier:
include('hiermeinefunktionsdatei.php');
//Funktion beim ersten Seitenaufruf
switch ($_GET["menu"]) {
case "main";
break;
}
?>
hiermeinefunktionsdatei.php:
Code: Alles auswählen
<?php
//Includes hier:
include('dbconfig.php');
$db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT);
// Global: Fehlermeldungen
$err_mail = "Die eingegebene eMail-Adresse ist nicht gültig!";
$err_leer = "Alle Felder mit einem * müssen ausgefüllt werden!";
$err_code = "Der eingegebene Sicherheitscode ist nicht korrekt!";
$err_lang = "Der eingegebene Text ist zu lang!";
$err_db = "Ein Datenbankfehler ist während der Operation aufgetreten! Bitte kontaktiere einen Administrator";
$msg_danke = "Vielen dank für deine Nachricht!";
...
// Global: Variablen
$date = date("Y-m-d");
...
// Global: Funktionen
...
function heute () {
$result = mysql_query("SELECT `datum` FROM `h32lg`.`dbname` WHERE `datum` = '". $date ."'");
return mysql_num_rows($result);
}
...
und normal müsste es doch auch so Funktionieren.
Derzeit hab ich es so, das ich innerhalb der Funktion auch noch das $date definiert hab, also über dem $result, wobei bei anderen Funktionen auch auf $date von der ersten definition zugegriffen wird.
Das ist es ja, was ich gerade nicht verstehe
greets h32Lg

Verfasst: 11.05.2008 21:55
von gn#36
Nein! Genau so funktioniert es eben nicht! Das global muss in der Funktion stehen, da globale Variablen eben nur dann in Funktionen verwendbar sind, wenn du sie per global $varname; in der Funktion (und wenn es mehrere sind in jeder einzelnen) bekannt machst.
Verfasst: 11.05.2008 23:31
von h32Lg
ja ne, is doof ^^ hab mir jetz ne eigene Funktino extra für dieses Datumsformat erstellt und greif jetzt via datum(); drauf zu, thx trotzdem
greets h32Lg

Verfasst: 11.05.2008 23:48
von gn#36
Das brauchst du doch gar nicht. Eine einzige Zeile
in der Funktion ganz oben reicht völlig aus.
Also
Code: Alles auswählen
function heute () {
global $date;
$result = mysql_query("SELECT `datum` FROM `h32lg`.`dbname` WHERE `datum` = '". $date ."'");
return mysql_num_rows($result);
}