Frage zum Thema Funktion

masta

Erfahrenes Mitglied
Kann es sein das eine Variable die nicht mit der Funktion direkt in Verbindung steht ihre gültigkeit innerhalb dieser Funktion verliert?

Habe folgenden Quelltext:

functions.php

PHP:
<?
function getpage_error ($text) {
echo "Fehler: ";
echo $text;
exit;
}
?>

check.php

PHP:
<? 
require("functions.php"); 
if ($title == "") { getpage_error("Bitte wählen Sie eine Anrede aus!"); }
?>

Wenn ich jetzt innerhalb der Funktion getpage_error eine Variable verwenden möchte die zuvor via Formular an check.php übergeben wurde,
erkennt functions.php diese Variable nur ausserhalb der Funktion und nicht in der Funktion selbst.
Sprich würde ich den Quelltext der Datei functions.php folgenderweise erweitern:

functions.php

PHP:
<?

echo $title; (Wird erkannt)

function getpage_error ($text) {
echo "Fehler: ";
echo $text;
echo $title; (Wird nicht erkannt)
exit;
}
?>

würde die Variable in der Funktion nicht erkannt, jedoch ausserhalb.
Hoffe mir kann jemand weiterhelfen.

Gruss Patrick...
 
Dazu musst du die globalen Variablen in der Funktion folgendermaßen zur Verfügung stellen:
PHP:
function bla() {
global $title, $var1, $var2;

echo $title;
}
 
Gibt es eine Möglichkeit über den Global Befehl
alle Variablen für die Funktion zugänglich zumachen?

etwa so global all; :)
 
-

Gewöhnt es euch lieber nicht an, mit globalen Variablen zu arbeiten. Wenn ihr Variablen in einer Funktion/Prozedur benötigt, dann übergibt sie als Parameter, dann habt ihr wenigstens die Kontrolle darüber, was mit denen so angestellt wird.
 
Zurück