[GastForen Programmierung/Entwicklung PHP und MySQL session_register()

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

session_register()

StefanB
Beiträge gesamt:

4. Nov 2004, 14:01
Beitrag # 1 von 9
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

ich habe hier und in meinen Handbüchern verschiedene Schreibweisen für Folgendes gesehen. Was ist richtig oder falsch, gibt's Unterschiede in der Auswirkung?

$xyz="test";

session_register(xyz);
oder
session_register('xyz');
oder
session_register("xyz");

Also pur, mit Hochkommata oder mit Anführungen bei session_register()?

Danke, Stefan
X

session_register()

Intermedia
Beiträge gesamt: 1287

4. Nov 2004, 15:02
Beitrag # 2 von 9
Beitrag ID: #121349
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
nach deinen Beispielen ist eigentlich nichts richtig wenn du die Variable $xyz in einer Session registrieren willst.
Dann müßte es so lauten:

session_register($xyz);

eine weitere Variante welche man auch verwenden kann ist:

$_SESSION["der_name"] = $xyz;

Bei deinen unteren zwei Varianten ist xyz einen String.

Gruß Sven


als Antwort auf: [#121325]

session_register()

StefanB
Beiträge gesamt:

4. Nov 2004, 15:52
Beitrag # 3 von 9
Beitrag ID: #121372
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

gewagte These, denn in allen meinen Handbüchern steht, dass das $-Zeichen beim Registern und Unregistern von Variablen weggelassen werden muss, dies sei die häufigste Fehlerquelle. So hab ich's auch praktiziert und so hat es auch immer funktioniert. Ich wollte halt wissen, ob der Variablenname in "sauberem Stil" zwischen den Klammern in Anführungen, und wenn ja, in welche, gepackt werden muss.

Über den $ sollten wir nochmal nachdenken...

Gruß, Stefan


als Antwort auf: [#121325]

session_register()

pat87
Beiträge gesamt: 581

4. Nov 2004, 15:58
Beitrag # 4 von 9
Beitrag ID: #121373
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
http://ch2.php.net/...session-register.php

mfg [email protected]
---
so einfach wie möglich, aber nicht einfacher! (albert einstein)


als Antwort auf: [#121325]

session_register()

Intermedia
Beiträge gesamt: 1287

4. Nov 2004, 21:07
Beitrag # 5 von 9
Beitrag ID: #121469
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

hmmm....... ich glaub du willst mich verunsichern. ;-)
Bei Gelegenheit teste ich das mal aus, mal sehen was da wirklich passiert.

Zu meiner ersten Variante:
ich hab es noch nicht probiert einen Variablenwert auf diese Art und Weise in eine Session zu schreiben, der Vorschlag war rein aus der "Luft" gegriffen. ;-)

Zu meiner zweiten Variante:
Auf Grund der neuen PHP Versionen und der Einstellungen des Servers realisiere ich das etwas anders.

Ich hab hier mal ein paar Zitate aus dem aktuellem PHP Handbuch:

[zitat]
Wenn Sie wollen, dass ihr Script unabhängig von der Einstellung von register_globals funktioniert, müssen Sie stattdessen das Array $_SESSION verwenden, weil $_SESSION-Einträge automatisch registriert werden. Wenn Sie in Ihrem Script session_register() verwenden, funktioniert es nicht in Umgebungen, in denen die PHP-Anweisung register_globals deaktiviert ist.

[/zitat]

So dann lass uns noch etwas fachsimpeln.;-)

Ach ja, was sagte den die Praxis dazu? Hast du es schon mal ausprobiert was dabei rauskommt?

Gruß Sven


als Antwort auf: [#121325]

session_register()

StefanB
Beiträge gesamt:

5. Nov 2004, 08:25
Beitrag # 6 von 9
Beitrag ID: #121509
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Sven,

nee, verunsichert in Sachen PHP-Sessions bin ich selbst schon genug ;-)
Also das Weglassen des $-Zeichen bei session_register steht so überall drin, wo ich nachgeschaut habe. Und zwischen den Klammern kann es stehen, wie es will, es funktioniert, ob mit oder ohne Anführungen, Hauptsache ohne $.

Nachdem ich nun einige tausend Zeilen Code zum Laufen gebracht habe und dort sehr oft session_register u.ä. vorkommt, habe ich nun auch den Hinweis auf $_SESSION entdeckt. Bei meinem Provider unter PHP 4 ist register globals auf ON, ich habe mal PHP5 getestet und nix hat mehr funktioniert, dort war's auf OFF gesetzt.

Also, wenn man für die Zukunft schreibt, scheint $_SESSION die Lösung zu sein. Aber ob ich jetzt die o.g. Zeilen umschreibe...??? Vielleicht später ;-)


als Antwort auf: [#121325]

session_register()

Intermedia
Beiträge gesamt: 1287

5. Nov 2004, 13:06
Beitrag # 7 von 9
Beitrag ID: #121645
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

das mit den register_globals ist auch schon ab einer bestimmten Version 4.x so standardmäßig eingerichtet.
Genau mit dem Problem hatte ich auch schon zu tun. Vor allem die älteren Seiten waren betroffen.

Alle neuen Projekte erstelle ich für register_globals = off.

Tja.... das ist ne gute Frage ob du jetzt alles umschreibst, wenn du es jetzt nicht machst dann stehst du warscheinlich später wieder vor der Frage.

Also immer in diesem Sinne: Was du heute kannst besorgen, verschiebe ruhig auf morgen. ;-)

Dann noch schönen Gruß Sven


als Antwort auf: [#121325]

session_register()

StefanB
Beiträge gesamt:

5. Nov 2004, 13:59
Beitrag # 8 von 9
Beitrag ID: #121673
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Sven,

tja, mal sehen, ob Faulheit oder Vernunft siegt...

Für die Mitleser: Im Link von pat87 gibt's die Anweisungen, was stattdessen zu tun ist:

-statt:
$xyz="test"; session_register(xyz);

-nun:
$_SESSION["xyz"] = "test";

-statt:
session_unregister(xyz);

-nun:
unset($_SESSION("xyz"));

-aber immer unbedingt ganz zu Beginn des Scripts bzw. vor allem anderen auf der Seite, ohne auch nur ein Leerzeichen davor:

session_start();

Stefan


als Antwort auf: [#121325]

session_register()

StefanB
Beiträge gesamt:

5. Nov 2004, 14:22
Beitrag # 9 von 9
Beitrag ID: #121685
Bewertung:
(1763 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Alarm:

Ich habe die letzte Codezeile - falsch, wie sie offenbar ist - aus dem o.g. Link kopiert. Sie sollte wohl heißen:

unset($_SESSION["xyz"]);

also mit eckigen [] Klammern statt ().

Nochmal an wohlwollene, kompetente Mitleser: Habe ich das alles richtig verstanden?

Stefan


als Antwort auf: [#121325]
X

Aktuell

PDF / Print
300_PDF20

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/