ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
3951
3951
EMPFEHLEN
-
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
so klappt es schonmal nichtPHP-Code:<?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();
}
?>
Der leitet mich immer weiter obwohl $LOG auf FALSE ist!
Was mach ich Falsch?
MfG FunjoyIch bin ein KLEINER Webmaster werde aber immer GRÖßER
-
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.:redlamaPHP-Code:if($LOG == TRUE)
{
$OUT;
die();
}
else
{
}
Wissen ist Macht! Nichts wissen macht auch nichts, ...
www.redlama.org
-
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-Code: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 FunjoyIch bin ein KLEINER Webmaster werde aber immer GRÖßER
-
Mehrmals? Hintereinander oder wie?
Dann würde mehr code helfen das ganze zu überblicken
-
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 FunjoyIch bin ein KLEINER Webmaster werde aber immer GRÖßER
-
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 FunjoyIch bin ein KLEINER Webmaster werde aber immer GRÖßER
-
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:
ansonsten klinke ich mich an dieser stelle ausPHP-Code:
if( $eingeloggt )
header('Location: woandershin.php');
else
header('Location: zumformuklar.php');
exit;
-
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 FunjoyIch bin ein KLEINER Webmaster werde aber immer GRÖßER
-
So habe es nun ohne ob_start() gemacht nachdem mir eingefallen ist das eh nix vorher wie echo oder print kommt
Habe auch was Falsch verstanden mit ob_start()
so schauts dann insgesammt aus wenns Interessiert!
access.php
@Ben Ben vielleicht verstehst du ja jetzt was ich meinePHP-Code:<?php
#--> SESSID definieren und starten.
session_name("SESSID");
session_start();
#--> Klassen Dateien Laden.
include("../class/TPLManager.php");
include("../class/MySQL.php");
#--> Konfigurationsdatei Laden.
include("config.php");
#--> Funktionsdatei Laden.
include("function.php");
#--> Globale Datei Laden.
include("global.php");
#--> Überprüfen ob User schon eigeloggt ist.
if($LOG == TRUE)
{
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php$Session2");
die();
}
#--> Userdaten Überprüfen auf Rechte und Richtigkeit.
if(isset($_POST['login']) && !empty($_POST['adminname']) && !empty($_POST['adminpassword']))
{
$admin = $DB->dbActionQuery("SELECT userid,username,password,permission FROM ".$Config_MySQLPrefix."members WHERE username='".strtolower($_POST['adminname'])."' AND password='".MD5(strtolower($_POST['adminpassword']))."'");
if(!empty($admin)) $Permission = $DB->dbActionQuery("SELECT pid,view_acp FROM ".$Config_MySQLPrefix."permission WHERE pid=$admin[permission]");
}
#--> Textfelder auf Inhalt und Gültigkeit überprüfen.
if(isset($_POST['adminname']) && empty($_POST['adminname']))
{
$ErrorMessage = "Du hast kein Benutzernamen eingegeben.";
$MatchError = TRUE;
}
elseif(isset($_POST['adminpassword']) && empty($_POST['adminpassword']))
{
$ErrorMessage = "Du hast kein Password eingegeben.";
$MatchError = TRUE;
}
elseif(isset($_POST['login']) && empty($admin))
{
$ErrorMessage = "Dein Benutzername oder dein Passwort ist nicht Gültig.";
$MatchError = TRUE;
}
elseif(isset($_POST['login']) && $Permission['view_acp'] != TRUE)
{
$ErrorMessage = "Du hast nicht die erfoderlichen Rechte um diesen Bereich betreten zu können.";
$MatchError = TRUE;
}
if(!isset($_POST['login']) || $MatchError == TRUE)
{
/////// Anmelde Formular ausgeben ///////
$TPL = new TPL_Manager();
$TPL->TemplatesPath = "templates/";
$TplFile['_ACCESS_'] = "access.htm";
$TPL->DefineTPL($TplFile);
$TPL->keyword('POST_ADMINNAME',$_POST['adminname']);
$TPL->keyword('MATCH_ERROR',"<br>$ErrorMessage<br>");
$TPL->ParseTPL("_ACCESS_");
$TPL->OutPut();
}
#--> Wenn alle Daten Ok sind Session Id mit allen Informationen in der DB speichern.
if(isset($_POST['login']) && $MatchError != TRUE)
{
$DB->dbActionQuery("INSERT INTO ".$Config_MySQLPrefix."adminsession (sessionid,userid,ipadress,useragent,starttime,lastactivity) VALUES ('".session_id()."','$admin[userid]','$_SERVER[REMOTE_ADDR]','$_SERVER[HTTP_USER_AGENT]','".time()."','".time()."')");
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php$session2");
die();
}
?>
MfG FunjoyIch bin ein KLEINER Webmaster werde aber immer GRÖßER
-
Jo, ist mir so klar und so hatte ich es auch gemeint, die beiden header() stören sich ja nciht, da ja kein Output erfolgt...
-
12.11.04 17:10 #13Lukasz Tutorials.de Gastzugang
Hallo
ich löse dir dein Script nicht aber was dir helfen Sollte
OB_START() hebt sich alle ausgaben auf, so lange bis
OB_END_FLUSH() kommt! oder der Script abgearbeitet ist.
Dabei werden alle Ausgaben in ein Buffer geladen. Möchtest du also ein Cookie setzten unerwtrtet in einem Script so bringt dir dies den Vorteil den Cookie zu setzten und wegzuheadern, ohne dass ein echo stören kann. Vergiss aber nie falls du dein echo ausgeben möchtest OB_END _FLUSH anzugeben, denn sonst kannst du schnell an Probleme stossen. Unter Windows kannst du dir die Funktion fast sparen aber Linux sieht das nicht gerne, sobald OB_END_FLUSH() nicht gestzt wird!
Bedenke setzt du OB_END_FLUSH nicht und hederst einen Download so wir der nie übertragen, obwohl er gestartet wird!
Mein Tipp:
Anfang als aller erstes OB_START() setzten
Das letzte im Script ist dann OB_END_FLUSH()
... dazwischen Cookie Header oder EXIT;
PHP-Code:if($LOG == TRUE)
{
$OUT;
EXIT;
} else { echo "bal";}
OB_END_FLUSH();
BZW
Wobei das OB_END_FLUSH irgendwann am ende auftauchen kann!PHP-Code:if($LOG == TRUE)
{
$OUT;
EXIT;
} else { header(); Exit;}
OB_END_FLUSH();
Geändert von Lukasz (12.11.04 um 17:17 Uhr)
Ähnliche Themen
-
echo-Anzeigen dann header('Location') ob_start() Problem
Von dwex im Forum PHPAntworten: 8Letzter Beitrag: 02.11.09, 20:41 -
Fehlermeldung bei ob_start()?
Von jackie05 im Forum PHPAntworten: 5Letzter Beitrag: 08.07.08, 23:53 -
imagecreate from string ohne header mit ob_start()
Von areuter im Forum PHPAntworten: 6Letzter Beitrag: 25.04.08, 16:47 -
Header geht nicht trotz ob_start
Von Pullmann im Forum PHPAntworten: 0Letzter Beitrag: 24.01.07, 17:31 -
header, ob_start und ob_end_flush
Von Eaden im Forum PHPAntworten: 6Letzter Beitrag: 19.04.05, 15:16





Zitieren
Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen