ob_start() und header() ?

Funjoy

Erfahrenes Mitglied
Hallo,

Ich habe derzeit folgendes Problem ich mache gerade ne Login Datei und ich will falls der user schon eigeloggt ist den zur Index weiterleiten ich habe das so gemacht

PHP:
<?php

#--> Location Wechseln
ob_start();
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php$Session2");
$OUT = ob_get_contents();
ob_clean();

if($LOG == TRUE)
  {
	$OUT;
	die(); 
}
?>

so klappt es schonmal nicht :-)
Der leitet mich immer weiter obwohl $LOG auf FALSE ist!

Was mach ich Falsch?

MfG Funjoy
 
Gib ihm doch mal ein else dazu.
Ich hatte mal so ein ähnliches Problem, welches ich durch ein else gelöst habe.
Also z.B.:
PHP:
if($LOG == TRUE) 
  { 
    $OUT; 
    die(); 
}
else
{
}

redlama
 
Das else ist ja leer das bringt dann aj nichts da es eh optional ist.

Nur wo stellst du den Fest ober er eingeloggt ist?
Wenn $LOG = TRUE?

Sonst hätte ich es einfach so gelöst:
PHP:
if( $LOG )
    header(...);
else
    //whatever
 
$LOG wird über eine Includierte globale Datei definiert ob FALSE oder TRUE. Das Problem ist das ich die Header funktion mehrmals benutzen möchte deswegen auch ob_start()

Ps: Und $LOG ist zu 100% FALSE da diese Globale datei Leer ist :-)

MfG Funjoy
 
Mit Mehrmals hintereinander meine ich ganz genau 2mal :-)

Einmal zum Überprüfen ob der User eingeloggt ist und das andere mal wenn sich der user erfolgreich eingeloggt hat soll er zur Index weitergeleitet werden.

MfG Funjoy
 
Versteh ich nicht. Wozu willst du denn weiterleiten um zu überprüfen ob der User eingeloggt ist? Weil dann leitest du ja auf eine andere Seite weiter usw...
 
Hmm Wie soll ich dir das jetzt erklären also nochma ;-)

die Datei heist access.php über diese Datei kann man sich einloggen! Wenn jedoch ein User schon eigeloggt ist macht es ja kein Sinn das Login Formular anzuzeigen richtig? deswegen wird er dann auch zur Index.php weitergeleitet! Dafür brauch ich zum ersten mal die Header funktion!

beim zweiten mal ist die Header funktion für die Leute die nicht eingeloggt sind die bekommen dann logischerweise das Login Formular zu sehen die Geben darinn dann halt ihr benutzernamen und Ihr Passwort ein! wenn alles richtig ist wird ebenfalls zur Index seite weitergeleitet.

Hoffe das war verständlicher :-)

MfG Funjoy
 
Ja eben...

also sie kommen zu access.php und von dort entweder zum formular oder weiter
also so


-> Formular
|
|
-> Access.php
|
|
wonanders


Also muss im acces.php schematisch doch nur passieren:

PHP:
if( $eingeloggt )
    header('Location: woandershin.php');
else
    header('Location: zumformuklar.php');
exit;

ansonsten klinke ich mich an dieser stelle aus ;)
 
Die access.php Datei ist das Formular deswegen :-)

Die 2te Weiterleitung erfolgt nur wenn sich ein User erfolgreich eingeloggt hat deswegen auch ob_start(); weill ich ja wegen das Formular zwischdurch mal echo benutze bevor die 2te Weiterleitung stafindet ;)

MfG Funjoy
 
Zurück