Mit PHP HTML-Seite aufrufen

Hallo Zusammmen,

Ich möchte nach einem erfolgreichen Login direkt eine Seite aufrufen und weiter im Menü navigieren.

Leider habe ich jetzt ein PHP-Problem:
Ich rufe über eine If-Bedinungung eine HTML-Seite auf. Will ich aber zurück zur PHP-Startseite, sei es über das Menü oder Browser, so ist die Variable nicht mehr gültig und die If-abfrage fünktioniert nicht mehr.
Die Idee über eine Variable (firstload) klappt aber nicht. Gibt es dafür eine Lösung?

MFG
Robert

mv-klinkum.de/

Auszug aus der index.php
die Seite mv-klinkum.de/intern.html soll direkt aufgerufen werden

<?php if ($HTTP_SESSION_VARS["variable"] == "loginLevel0" || $HTTP_SESSION_VARS["variable"] == "loginLevel1" ) { echo "".""."  &nbsp angemeldet"."".''; ; if ($_SESSION['firstload'] == '0') { $_SESSION['firstload'] == '1'; ?> <?php
		 }
	  }
	 else
	 {
	  echo "<font color=\"#FFFFFF\" size=\"4\">"."&nbsp;&nbsp;&nbsp abgemeldet".'</font>'; 
	 }
  ?>

hi,

wieso benutzt du einmal http_session_vars und einmal session? du solltest komplett bei session bleiben.

hast du session_start() auch nicht vergessen?

html-umleitung? pufi teufel, nimm nen php-location-header, wesentlich eleganter.

Hallo emil,

danke für die schnelle Antwort. Die unterschiedliche Session ergeben sich aus reiner Verzweifelung. Im Moment rate ich nur.
session_start() steht ganz oben und funktioniert auch in Verbindung mit dem Login.
Das Problem:
ich mache ein Login - die HTML-Seite wird aufgerufen (soweit ok) - ich gehe zurück - das Skipt stellt jetzt fest gültiges Login - die HTML-Seite wird aufgerufen (nicht ok)

Gibt es den keine Lösung ohne meine HTML-Seite in einer PHP-Seite zuwandeln?
Meinst du mit “php-location-header” == z.B. " include(“Header.php”) "
Wie könnte dann die Lösung aussehen?

Robert

Problem gelöst!
Das Geheimnis war das löschen (unset) der Variable firstload. :smiley:

if (!isset ($_SESSION[‘firstload’])){
$_SESSION[‘firstload’] = “True”;

<?php if ($HTTP_SESSION_VARS["variable"] == "loginLevel0" || $HTTP_SESSION_VARS["variable"] == "loginLevel1" ) { echo ""."  &nbsp angemeldet".''; ; if ( $_SESSION['firstload'] == "True") { ?> <?php
		 }
	  }
	 else
	 {
	  echo "<font color=\"#FFFFFF\" size=\"3\">"."&nbsp;&nbsp;&nbsp abgemeldet".'</font>'; 
	  unset($_SESSION['firstload']);
	 }
  ?>

Der Mischmasch aus $_SESSION und $HTTP_SESSION_VARS wird dir trotzdem irgendwann Probleme bereiten.

$HTTP_SESSION_VARS ist nur verfügbar, wenn die Option register_long_arrays aktiviert ist:

Hinzu kommt noch, http://www.php.net/manual/en/language.variables.predefined.php:

Also: Nutze $_SESSION, und zwar ausschließlich.
Alles andere ist Quark, und wird über kurz oder lang dazu führen, dass dein Script nicht mehr funktioniert.

@chrisb
Viele Dank für den Hinweis! (Änderung ist erfolgt)
mfg
Robert