Problem mit Funktionen in PHP
Juliane
- php
Hallo,
ich habe ein Problem.
Wenn ich in einem PHP-Skrip (z.B. test.php) eine Funktion aus der config.inc.php aufrufe, und in dieser Funktion der Server-Name mit $lala=$SERVER_NAME; abgefragt werden soll, dann funktioniert das nicht. In test.php wird dann bei echo $lala eben nicht der jeweilige Server-Name angezeigt.
Wie kann ich das Problem lösen?
Danke, Juliane
Hallo Juliane,
Wenn ich in einem PHP-Skrip (z.B. test.php) eine Funktion aus der config.inc.php aufrufe, und in dieser Funktion der Server-Name mit $lala=$SERVER_NAME; abgefragt werden soll, dann funktioniert das nicht. In test.php wird dann bei echo $lala eben nicht der jeweilige Server-Name angezeigt.
Wie kann ich das Problem lösen?
Indem du auf die Variable in der richtigen Form zugreifst.
$lala = $_SERVER['SERVER_NAME'];
Das Ganze müsste genauer auf der entsprechenden Seite im PHP-Manual stehen, aber das php.net scheint gerade down zu sein. Trotzdem:
http://www.php.net/reserved.variables
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Hallo!
Vielen Dank!! Zu nächtlicher Stunde mein Problem gelösst.
Nun fehlt mir nur noch eines:
In der config.inc.php ist folgendes zu finden
-------------
$lala=123
function(tralala)
{
echo $lala;
}
-------------
Auch das funktioniert nicht, $lala wird nicht angezeigt. *heul*
Hi,
$lala=123
function(tralala)
{
echo $lala;
}Auch das funktioniert nicht, $lala wird nicht angezeigt. *heul*
Hier ist soviel fehlerhaft,dass es notwendig ist die komplette
Funktion zu sehen.
1. Funktionen sind nicht so aufgebaut function(tralala)
2. Funktionen müssen auch aufgerufen werden.
3. Werte müssen an die Funktion übergeben werden und sollten ein Semikolon am Ende haben.
Gruss
Wolke
Aja, das stimmt natürlich, da fehlt ein Semikolon.
Das ist aber nicht das Problem. Das Problem ist, dass wenn die Funktion später aufgerufen wird, bei echo $lala nichts steht.
Wenn ich $lala innerhalb der Funktion definiere schon, aber nicht wenn, so wie hier, vor der Funktion.
Was mache ich denn nur falsch?
Ich bin begeistert.
global $bar;
war die Codezeile die ich gesucht habe.
Ich bin fasziniert... ich meine... es ist 3 Uhr nachts..!! Wow! Ein tolles Forum! 1000 Dank!
Was mache ich denn nur falsch?
Warum machst du es uns so schwer, poste die Funktion
und wir sagen es dir. So kann ich nur vermuten.
eine Funktion :
function machwas($wert)
{
echo $wert;
}
Aufruf:
machwas('hallooooo, ich funktioniere');
Gruss
Wolke
Hallo Juliane!
$lala=123
function(tralala)
{
echo $lala;
}
Du musst der Funktion schon einen Name geben!
Und außerdem kann eine Funktion in PHP nicht so einfach auf globale Variablen zugreifen, du musst diese der Funktion erst bekannt machen:
$bar = "globale variable";
function foo() {
global $bar;
echo $bar;
}
foo(); // gibt "globale variable" aus
Sinnvoller ist es aber, die benötigten Variablen der Funktion als Parameter zu übergeben, das schaut dann so aus:
$bar = "globale variable";
function foo($parameter) {
echo $parameter;
}
foo($bar); // gibt auch "globale variable" aus
Servus
Ich bin begeistert.
global $bar;
war die Codezeile die ich gesucht habe.
Ich bin fasziniert... ich meine... es ist 3 Uhr nachts..!! Wow! Ein tolles Forum! 1000 Dank!
Hi,
global $bar;
war die Codezeile die ich gesucht habe.
Sicher?
Der zweite Teil seiner Antwort wäre aber wie beschrieben
der Sinnvollere gewesen.
Gruss
Wolke