Zum Inhalt springen

PHP Globale Variablen


Empfohlene Beiträge

Originally posted by Art

hi,

ich habe irgendwo gelesen, dass man globale variablen möglichst vermeiden sollte. warum? und wie funktioniert die alternative?

hm nun das ist ja eine interresante behauptung... ich weis nicht warum man globale variablen vermeiden sollte und die alternative ist sie eben nicht global zu verwenden sondern auf jeder page neu definieren. :floet:

naja oder vielleicht meinst du mit alternative sessions? also irgendwie weis ich nicht genau was du willst... :rolleyes:

hier die suchanfrage für session:

http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=session+php&meta=lr%3Dlang_de

und hier zu session ein direktlink:

http://www.dynamic-webpages.de/php/ref.session.php

Link zu diesem Kommentar
Auf anderen Seiten teilen

Weil in neueren php-Versionen (ich glaub seit 4.2) register_globals standardmäßig aus Sicherheitsgründen auf OFF steht.

Schau mal in dein lokales phpinfo(), ich wette da ist es On.

http://www.php.net/manual/de/security.registerglobals.php

Natürlich darfst du die weiterhin verwenden, nur musst du sie am Anfang jeder php Seite "abfangen".

Link zu diesem Kommentar
Auf anderen Seiten teilen

Im Prinzip soll man beim Programmieren immer auf globale Variablen verzichten, weil man damit saubere Schnittstellen unterwandert und ganz schnell für Datensalat sorgt. Das ist ähnlich wie mit "goto", wo man einen sauberen Programmfluss unmöglich macht und für "Spaghetticode" sorgt.

Aber bei PHP ist der Begriff "global" für Variablen etwas anders definiert, darüber hinaus gibt es auch "superglobale" Variablen. Mehr dazu in Chapter 8. Variables.

In Bezug auf $_GET[] und $_POST[] siehe auch in der dclp-FAQ:

- 11.1. Wie unterscheide ich böse Variablen von guten?

- 11.10. Vermeide globale Variablen

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 1 Monat später...

Ich stelle grade einige simple Scripte für register_globals = off um.

Wie macht ihr das?

Ist es praktisch alle Variablen, die das Script erwartet per $_GET oder $_POST am Anfang des Scriptes "aufzufangen"?

Wenn ich z.b. meine Navigation über die URL lösen, z.B.

index.php?content=kontakt

fange ich die Variable $content so ab:

$content = $_GET[content];

Was würde das Script machen wenn content aber nicht übergeben wird?

Wird $content dann einfach nicht initialisiert?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...