WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 21.05.2003, 18:50   #1
hugin grímnirson
Master
 
Registriert seit: 13.05.2001
Alter: 49
Beiträge: 762


Standard php - register_globals

hi,

kurze frage:

wenn in der php.ini "register_globals" auf "off" gesetzt ist: verhindert dies nur, dass variablen, die zb per POST übergeben wurden global zur verfügung stehen, oder auch das ich eine variable mit "global $NAME;" global definieren kann?
____________________________________
cu
hugin

I'm calm like a bomb.
hugin grímnirson ist offline   Mit Zitat antworten
Alt 21.05.2003, 19:39   #2
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Eine $var im globalen Namensraum ist logischerweise global.

Zugriff auf globale Variblen innerhalb von Funktionen mit $GLOBALS['varname'] ist der momentan forcierte Weg.

register_globals=Off bedeutet, das Variablen in den superglobalen Arrays $_* nicht mehr automatisch in den globalen Namensraum importiert werden.

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 21.05.2003, 20:28   #3
hugin grímnirson
Master
 
Registriert seit: 13.05.2001
Alter: 49
Beiträge: 762


Standard

ok, ich glaub ich verstehe.

etwas konkreter zum hintergrund der frage:

hatte versucht eine variable mit

global $VAR;
$VAR = "WERT";

zu definieren, um sie dann in einer funktion nutzen zu können. in der funktion stand sie mir jedoch als $VAR nicht zur verfügung, über $GLOBALS konnte ich jedoch darauf zugreifen.

dabei stelle ich mir jetzt folgende fragen:
war das überhaupt der richtige weg, um die variable in der funktion nutzen zu können (ohne dass ich sie beim aufruf mitgebe)?
und wenn ja, warum ist sie mir dann nicht zur verfügung gestanden?
oder dient global() nur dazu, eine variable, die innerhalb einer funktion erzeugt wurde, auch außerhalb dieser nutzen zu können?
____________________________________
cu
hugin

I'm calm like a bomb.
hugin grímnirson ist offline   Mit Zitat antworten
Alt 21.05.2003, 20:49   #4
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Weil du

global $var;

früher in der Funktion verwendet hast, um darauf zu referenzieren.

ALT:
PHP-Code:
$var 2;
function 
foo(){
  global 
$var;
  echo 
$var;

NEU:
PHP-Code:
$var 2;
function 
foo(){
  echo 
$GLOBALS['var'];

In Funktionen definierte Variablen stehen nur in der entsprechenden Funktion zur Verfügung, ansonsten würde es ein ziemliches Schlamassel geben...

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 21.05.2003, 20:59   #5
hugin grímnirson
Master
 
Registriert seit: 13.05.2001
Alter: 49
Beiträge: 762


Standard

verstehe

muchas gracias!
____________________________________
cu
hugin

I'm calm like a bomb.
hugin grímnirson ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:17 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag