[PHP][Tutorial@tut.de]Frage bezüglich Loginscript

~SpArGs~

Erfahrenes Mitglied
tagchen..

hab eine frage zu folgendem tutorial welches auf tutorials.de gepostet wurde

--> http://www.tutorials.de/tutorials9684.html

sodele nun hab ich eine frage zu folgendem teil des scriptes:

Code:
session_start (); // Session starten.

if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {
  // Code, wenn der Benutzer eingeloggt ist.
  // z.B. Ausgabe der Webseite (echo „<html>...“)
} else {
  // Code, wenn der Benutzer nicht eingeloggt ist.
  // z.B. Fehlermeldung
}

falls ich noch mehere IF statements in dem teil hier drin stehen habe

--> // Code, wenn der Benutzer eingeloggt ist.
// z.B. Ausgabe der Webseite (echo „<html>...“)

wieso muss ich dann jedesmal noch auf
Code:
((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt))
üerprüfen?

ist das nicht global in der ganzen
Code:
if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {
schlaufe definiert?
 
hrhr, dacht ich mir.

aaaaaaaaaaaalso, in deinem code steht doch folgendes:

Code:
session_start (); // Session starten.

if ((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt)) {
  // Code, wenn der Benutzer eingeloggt ist.
  // z.B. Ausgabe der Webseite (echo „<html>...“)
} else {
  // Code, wenn der Benutzer nicht eingeloggt ist.
  // z.B. Fehlermeldung
}

im IF statement füge ich nun allen code ein, der sichtbar ist, wenn der user eingeloggt ist...richtig?
nun gut. jetzt hab ich dort drin aber noch andere IF anweisungen und die
funktionieren nicht mehr, sprich der code macht beim ELSE weiter und zeigt
den code, wenn der benutzer nicht eingeloggt ist.

jetzt hab ich aber einfach mal wegen lustig hinter die IF anweisung noch zusätzlich
den code hier hingemacht
Code:
((session_is_registered ("user_eingeloggt")) AND ($user_eingeloggt))
und es funktionierte, nur ist mir das nicht logisch...
 
Mhh klingt sehr verwirrend. Er springt also bei der ersten IF-Anweisung (also die von mir) in das ELSE ...
Das wäre dann nur der Fall wenn die Benutzerdaten nicht stimmt oder der Benutzer nicht mehr eingeloggt ist weil z.B. die Session abgelaufen ist.

Ein anderer Fall könnte aber auch sein, dass bei dir RegisterGlobals auf Off steht. Dann kennt er die Variable $user_eingeloggt nicht und liefert demnach immer false. Also entweder RegisterGlobals auf On oder folgenden Code noch für dem IF einfügen:
PHP:
<?php
session_start ();

$user_eingeloggt = $_SESSION["user_eingeloggt"]; // <<<<<<<<<<<<

if ....
 
ahso...register_globals ist schon seit der installation auf on :-D

session_start(); <-- das mach ich schon in zeile 1 des scriptes :-D


hmm...ev. dürft ich dich mal kurz in icq stören, da ich jetzt nach deinem
neuen tutorial vorgehe :mosh:
 
Klar, kannst du machen. Musst mich nur abpassen. Ich bin jetzt wahrscheinlich die nächsten Tage nicht sehr oft zu Hause.
 
Zurück