| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

16-02-2008, 19:27
|
|
der_milchmann
Newbie
|
|
Registriert seit: Aug 2004
Beiträge: 51
|
|
[Variablen] Interne Variablen im Script auch mit $_GET auslesen?
Hallo,
ich würde gern wissen, ob es eine Möglichkeit gibt, Variablen innerhalb einer Seite auch mit $_GET['variable'] auszulesen oder irgend eine vergleichbare Möglichkeit, die _GET und _POST impliziert?
Hintergrund:
Bei komplexen Scripten weiß ich manchmal nicht, ob jetzt die Variable X im Script selbst definiert wurde oder ob ich sie per POST oder GET übermittelt habe und würde gern neine einheitliche Schreibweise zum Auslesen der Variablen verwenden, also nicht einmal
echo $a;
und einmal
echo $_GET['a'];
und einmal
echo $_GET['a'];
Gibts eine Möglichkeit, die alle Schreibweisen beinhaltet?
|

16-02-2008, 19:33
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.308
|
|
Zitat:
|
Gibts eine Möglichkeit, die alle Schreibweisen beinhaltet?
|
ja, register_globals auf on stellen. aber das ist nicht sinn der sache, da es große sicherheitslücken öffnet. mein tipp: unterscheide immer ganz genau zwischen normalen und get- bzw.post-variablen. alternativ gäbe es noch $_REQUEST, aber auch das ist nicht sauber.
darum immer sauber trennen! ist einfach besser und sicherer.
gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
|

16-02-2008, 19:35
|
|
der_milchmann
Newbie
|
|
Registriert seit: Aug 2004
Beiträge: 51
|
|
Hi Peter,
Registerglobals will ich in jedem Fall OFF lassen, mein Provider hats auch umgstellt.
Aber wenn du sagst, es gibt sowas nicht, dann ist das ok, dann muss ich einfach genau achten, woher kommt die Variable nun. Das ist ok, ich dachte nur, es gibt eine Alternative, scheint nicht so, also scheint ihr Profis das auch so zu machen  werd ich eben auch so tun
Danke.
|

16-02-2008, 19:59
|
|
bla$ter
Newbie
|
|
Registriert seit: Oct 2003
Beiträge: 84
|
|
Zitat:
Original geschrieben von der_milchmann
Hi Peter,
Registerglobals will ich in jedem Fall OFF lassen, mein Provider hats auch umgstellt.
Aber wenn du sagst, es gibt sowas nicht, dann ist das ok, dann muss ich einfach genau achten, woher kommt die Variable nun. Das ist ok, ich dachte nur, es gibt eine Alternative, scheint nicht so, also scheint ihr Profis das auch so zu machen werd ich eben auch so tun
Danke.
|
Naja, es geht schon, sauber ist es aber nicht:
PHP-Code:
class GlobalWrapper
{
public function get($name)
{
$vars = array_merge($_GET,$_POST,$GLOBALS);
return isset($vars[$name]) ? $vars[$name] : null;
}
}
$g = new GlobalWrapper();
$a = 5;
$_GET['b'] = 6;
echo $g->get('a');
echo $g->get('b');
Wenn der GlobalWrapper dann noch ArrayAccess implementiert ist auch ein Array ähnlicher Zugriff ala $g['a'] möglich.
Ist aber, wie gesagt, weder sauber noch Empfehlenswert.
|

17-02-2008, 15:20
|
|
der_milchmann
Newbie
|
|
Registriert seit: Aug 2004
Beiträge: 51
|
|
Ok - das überzeugt, danke!
Werde einfach drauf achten, dass ich sauber programmiere und achte, woher die Variable kommt, vielleicht achtet man dann auch allgemein drauf, sauberer zu scripten :-)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|