SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Websites optimieren für Google & Co.

Websites optimieren für Google & Co. zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.10.2005, 14:05:51
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
Problem mit Lokalisierung eines SESSION - Problems

Hi,

ich komme irgendwie nicht weiter und habe auch schon ziech Foren danach durchsucht und tausendmal gegoogelt und habe da auch immer wieder die selbe Erklärung und Lösung für das Problem gefunden. Nur irgendwie hilft es mir nicht weiter, weil ich es nicht schaffe das Problem genauer zu lokalisieren geschweige denn wirklich tiefgehend zu verstehen. Ich bekommen bei mir immer folgende Fehlermeldung

Warning: Cannot modify header information - headers already sent by (output started at /usr/export/www/hosting/verrat/calender/leftdown.php:26) in /usr/export/www/hosting/verrat/calender/login.php on line 7

Ja ich weiß was jetzt die meisten sagen werde...!

Theoretisch müsste ich ja sämtliche Ausgaben vor der Header() Funktion in Zeile sieben wegstreichen. Das Problem ist nur wie folgt diese Seite wird in eine index Seite reinincludiert, daher ist es quasi unmöglich alle Ausgaben vorher wegzustreichen. Wie kann ich das Problem lösen. Komischerweise tritt das Problem auch nur aus, wenn man sich mit Adminrechten ausloggen will, aber wenn man sich mit Benutzerrechten ausloggen will trift das Problem nicht auf, dabei unterscheiden sich diese beiden seiten im ganzen nur von der linken Navigationsleiste. Die Datei leftdown.php wird übrigens in beide Navigationsleisten reinincludiert, also sowohl als Benutzer als auch als Admin. Also damit wird es wohl nicht direkt zu tun haben.

Danke schon mal und seid nicht zu streng mit mir... .
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
  #2  
Alt 03.10.2005, 14:34:53
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
AW: Problem mit Lokalisierung eines SESSION - Problems

Zitat:
Zitat von Fabian85
Theoretisch müsste ich ja sämtliche Ausgaben vor der Header() Funktion in Zeile sieben wegstreichen.
wenn du am anfang deines hauptscriptes folgendes schreibst:

ob_start( "ob_gzhandler" );

(session_start muss wenn dann danach aufgerufen werden)

und in die letzte zeile deines hauptscriptes tippst du:

ob_end_flush();

damit wird die ausgabe bebuffered (und komprimiert). es wird also bis zur letzten zeile keine ausgabe gesendet und du kannst zwischendurch header verwenden.

wenn du mit sessions arbeitest und zugleich header benutzen willst, empfehle ich vor header session_write_close() aufzurufen..

Geändert von feuervogel (03.10.2005 um 14:35:51 Uhr)
Mit Zitat antworten
  #3  
Alt 03.10.2005, 14:50:54
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
AW: Problem mit Lokalisierung eines SESSION - Problems

Jo vielen DANK!!!

Klappt jetzt bei mir. Ich frage mich warum baut man das mit dem Buffern nicht direkt in PHP von vornherein ein. Da haben doch anscheinend so viele Leute mit Probleme. Das mit dem session_write_close(); klappte bei mir nicht übrigens. Habt das mal vor der Header() Funktion getan, aber das funzte nicht.

Quelltext sieht so an der Stelle aus...

if($logout==1){
session_destroy();
header("location: index.php");
}

und hab es dann so ausprobiert:

if($logout==1){
session_destroy();
session_write_close();
header("location: index.php");
}


Vielen Dank nochmal!

Gruß Fabian
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
  #4  
Alt 03.10.2005, 17:43:10
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: Problem mit Lokalisierung eines SESSION - Problems

1. vor session_destroy() fehlt das:
PHP-Code:
$_SESSION = array(); 
Dann ist die Session wenigstens leer, weil PHP das Sessionfile nicht sofort killt.

2. header() - im Handbuch steht:
Zitat:
Anmerkung: HTTP/1.1 verlangt einen absoluten URI inkl. dem Schema, Hostnamen und absoluten Pfad als Argument von Location:, aber manche Clients akzeptieren auch relative URIs. Gewöhnlich können Sie mittels $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] und dirname() aus einem relativen Link einen absoluten URI selbst erstellen:
3. Nach header() fehlt das exit.
Mit Zitat antworten
  #5  
Alt 03.10.2005, 17:56:57
Fabian85 Fabian85 ist offline
Anfänger
 
Registriert seit: Feb 2004
Beiträge: 130
AW: Problem mit Lokalisierung eines SESSION - Problems

thx!!!!!!!!!!!
__________________
"Wer im Leben kein Ziel hat, verläuft sich."

www.bedtke.com - Zitate, Urlaubs- und Überstundenplaner, Webadressbuch und vieles mehr!
Mit Zitat antworten
  #6  
Alt 03.10.2005, 21:17:54
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Problem mit Lokalisierung eines SESSION - Problems

Zitat:
Zitat von Fabian85
Ich frage mich warum baut man das mit dem Buffern nicht direkt in PHP von vornherein ein.
Der Grund ist recht naheliegend: Solange du eine Ausgabe pufferst, muss sie natürlich auch im Speicher des Servers gehalten werden. Wenn du nun nicht pufferst, werden die Ausgaben direkt an den Browser gesendet und nicht erst im Speicher gehalten, was logischerweise den Server entlastet. Macht man sich einmal klar, wie genau das Zusammenspiel Frage / Antwort zwischen Client (in diesem Fall der Browser) und Server aussieht, kann man auch nachvollziehen, warum das so ist:
Bekommt der Server eine Anfrage von einem Client, wertet er diese aus und sendet dann entsprechende Header an den Client (wie z.B. den Mime-Type der angeforderten Datei), damit der Client beurteilen kann, wie er mit dem Body der Antwort umgeht. Die Header werden dabei allesamt vor dem Body gesendet.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
session problem mit session id Fabian85 PHP für Fortgeschrittene und Experten 24 01.02.2005 09:30:19
Problem mit Session roemario PHP für Fortgeschrittene und Experten 5 23.01.2005 15:27:52
Session Problem mare26 PHP für Fortgeschrittene und Experten 1 08.12.2004 14:30:39
Session Cookies und use_trans_sid Problem Funjoy PHP für Fortgeschrittene und Experten 22 26.07.2004 23:16:08
problem mit session und cookie feuervogel PHP für Fortgeschrittene und Experten 21 10.01.2004 16:45:17


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:43:14 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt