"Warning: Undefined variable", obwohl per URL übergeben?
Caecilia E. Roehl
- php
Hallo,
ich habe PHP bei meinem Apache 1.3 installiert.
<? echo ("Hallo"); ?>
Das gibt mir normal "Hallo" aus. Sieht so aus als PHP und der Apache funktioniert.
Da bekomme ich einen Fehler, trotz Übergabe der Variablen "test" per URL:
"http://localhost/www/test.php?test=hi"
Also eigentlich müßte er doch sowas ausgeben wie:
Hallo! hi
Macht er aber nicht, sondern gibt an, daß er die Variable &test nicht finden kann:
Hallo
Warning: Undefined variable: test in f:\wwwroot\test.php on line 2
Ich bin da fraglos.
Weiß jemand Rat?
Cäcilia
Moin!
ABER:
<? echo ("Hallo! ");
echo ($test); ?>
Ich bin da fraglos.
Weiß jemand Rat?
Ja. In neueren PHP- Versionen wurden die Sicherheitseinstellungen geändert.
echo $_GET['test'];
wäre in der beschriebenen Situation Dein Freund.
Falls Du die Variable mal per POST übergibst: $_POST['test'].
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo,
Kleine Ergaenzung:
echo $_GET['test'];
Falls Du die Variable mal per POST übergibst: $_POST['test'].
Und falls Du mal GET, mal POST verwendest, und
Du in beiden Faellen auf den Wert zugreifen willst:
$_REQUEST['test']
PHP-Manual: Predefined Variables (englisch, die deutsche
Uebersetzung ist unvollstaendig/veraltet):
http://www.php.net/manual/en/language.variables.predefined.php und
http://www.php.net/manual/en/reserved.variables.php
dclp-FAQ: Welche Variablenarten gibt es in PHP
und wie greife ich auf sie zu?
http://www.dclp-faq.de/q/q-php-variablen.html
dclp-FAQ: Warum funktionieren meine Formulare nicht?
http://www.dclp-faq.de/q/q-formular-register-globals.html
---
@Caecilia: Ja, wenn Dein Buch noch von der globalen Verfuegbarkeit
der GET-/POST-/COOKIE-Variablen ausgeht, solltest Du ein neues
kaufen, dessen Beispiele dem aktuellen Stand von PHP entsprechen
und die Sicherheit immer mitberuecksichtigen.
Gruesse,
Thomas
Hi,
Da bekomme ich einen Fehler, trotz Übergabe der Variablen "test" per URL:
"http://localhost/www/test.php?test=hi"
Über die Url werden keine Variablen, sondern allerhöchstens Parameter übergeben.
Hallo! hi
Macht er aber nicht, sondern gibt an, daß er die Variable &test nicht finden kann:
Aus Sicherheitsgründen werden in aktuellen PHP-Versionen nicht mehr automatisch aus den URL-Parametern PHP-Variablen generiert.
Auf URL-Parameter kannst Du per $_GET['parametername'] zugreifen.
cu,
Andreas
Hallo!
Wow, sowas schöd-einfaches ist das? *schäm*
Das muß ich mir merken - oder auch einfach nur ein neues PHP Buch anschaffen ;o)
Danke an euch MudGuard / fastix(R)
*smile*
Cäcilia