php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 09.01.2008, 20:22  
Erfahrener Benutzer
 
Registriert seit: 12.12.2007
Beiträge: 137
TeazY befindet sich auf einem aufstrebenden Ast
TeazY eine Nachricht über ICQ schicken TeazY eine Nachricht über MSN schicken
Standard header() ???

Servus ihr php proifs da draussen,

ich habe (mal wieder) eine Frage. Ich habe schon bei php.net und per google sowie hier im forum mal gesucht doch so richtig aufgeklärt bin ich nicht. Deshalb frage ich nochmal direkt nach und hoffe das mir jemand helfen kann.

Also, es geht um eine weiterleitung per php. Das kann man soweit ich weiss mit header(Location: url) verwirklichen. Der haken dabei ist aber das man vor der nutzung von header() keine ausgabe erzeugenden codezeilen haben darf. Ok, das ist ja noch nachvollziehbar. Doch da ist auch schon mein problem.

Zum besseren verständnis erkläre ich mal wie mein system aufgebaut ist.
Also, ich habe ein index.php (logisch). Der content wird per index.php?section=dateiname aufgerufen (z.B.: index.php?section=login).
Die Variablen für den aufruf der "section" habe ich in einem array in der variablen.php definiert und in die index.php included. Soweit, so gut.

So, jetzt habe ich die login datei aufgerufen per index.php?section=login
Die eingegebenen Daten werden an die selbe datei geschickt und nur dann verarbeitet wenn alles korrekt ausgefüllt wird. Das funktioniert auch alles super. Doch nach der verarbeitung möchte ich eine neue Datei aufrufen lassen, sprich eine weiterleitung zum internen bereich den man logischerweise nur sieht wenn man eingeloggt ist. Und soweit ich das verstanden habe macht man das mit dem oben genannten befehl header(location: url).

Also müsste ich jetzt nach der verarbeitung diesen befehl einfügen. Doch das funktioniert nicht da die index.php schon den header gesendet hat und ich somit mit der login.php nicht nochmal den hader senden kann.
(P.S.: das Problem habe ich auch bei anderen dateien die mit dem selben prinzip aufgerufen und verarbeitet werden.)

Hier meine Fehlermeldung:
PHP-Code:
WarningCannot modify header information headers already sent by (output started at /home/www/web37/html/tnkstuff/tnkcms/index.php:125in /home/www/web37/html/tnkstuff/tnkcms/login/login_check.php on line 46 
Jetzt dachte ich ich muss irgendwie einen header in dex index.php definieren den ich dann je nach gebrauch und aufgerufener datei verändern kann. Doch wie? Oder wie genau funktioniert das denn jetzt alles? Wo habe ich evtl. fehler gemacht? oder hab cih das ganze prinzip von header() falsch verstanden? Bitte, helft mir, ich bin am verzweifeln.
__________________
Kommt Zeit, Kommt Rat!
.visit » TNK-Studios.de
.visit » TolgaFFM @ YouTube.de

Geändert von TeazY (09.01.2008 um 20:25 Uhr). Grund: Fehlermeldung hinzugefügt
TeazY ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 10.01.2008, 08:26  
Erfahrener Benutzer
 
Registriert seit: 08.08.2007
Beiträge: 549
PHP-Kenntnisse:
Fortgeschritten
drieling befindet sich auf einem aufstrebenden Ast
drieling eine Nachricht über ICQ schicken
Standard

header() funktionier NUR wenn noch keine Ausgabe erfolgt ist. Sobald eine Ausgabe erfolgt ist werden die Header-Informationen (Die ersten Bytes einer HTML Seite, die nur der Browser sieht und nicht der User) gesetzt und sin nicht mehr veränderbar.
Im Header stehen z.B. so sachen wie Dateityp (jpg, html etc), Cache Behandlung oder auch eine Weiterleitung.

Das heißt entweder musst du dein Script so umbauen, dass es möglich ist den Header vor der Ausgabe zu setzen oder du musst auf andere Weiterleitugsmethoden zugreifen (JS, Meta oder sogar einen einfachen HTML Link)

Soweit mein Senf
drieling ist offline  
Alt 10.01.2008, 09:57  
Erfahrener Benutzer
 
Benutzerbild von Montellese
 
Registriert seit: 30.07.2007
Beiträge: 541
Montellese befindet sich auf einem aufstrebenden Ast
Montellese eine Nachricht über MSN schicken
Standard

Für solche Fälle ist die Weiterleitung per meta-Tag immer am besten! Über JavaScript finde ich persönlich alles andere als elegant und es funktioniert nicht, wenn man JS deaktiviert hat. Die Weiterleitung per meta-Tag funktioniert eigentlich immer.
Montellese ist offline  
Alt 10.01.2008, 16:38  
Erfahrener Benutzer
 
Registriert seit: 12.12.2007
Beiträge: 137
TeazY befindet sich auf einem aufstrebenden Ast
TeazY eine Nachricht über ICQ schicken TeazY eine Nachricht über MSN schicken
Standard

also muss ich dann die html meta weiterleitung in die login.phpan die entsprechende stelle schreiben? das sollte doch eigentlich nur funktionieren wenn es sich im <head> </head> tag befindet dachte ich. Naja, ich werds versuchen. danke. ansonsten bleibt wohl wirklich nix übrig ausser ein normaler link.
__________________
Kommt Zeit, Kommt Rat!
.visit » TNK-Studios.de
.visit » TolgaFFM @ YouTube.de
TeazY ist offline  
Alt 10.01.2008, 16:41  
Erfahrener Benutzer
 
Registriert seit: 08.08.2007
Beiträge: 549
PHP-Kenntnisse:
Fortgeschritten
drieling befindet sich auf einem aufstrebenden Ast
drieling eine Nachricht über ICQ schicken
Standard

Ich glaube die Meta Weiterleitung wird nicht im Body Bereich funktionieren. Alternativ eine JS Weiterleiotung und zusätzlich (für Leute die JS ausgeschaltet haben) einen Link
drieling ist offline  
Alt 10.01.2008, 19:39  
Erfahrener Benutzer
 
Registriert seit: 12.12.2007
Beiträge: 137
TeazY befindet sich auf einem aufstrebenden Ast
TeazY eine Nachricht über ICQ schicken TeazY eine Nachricht über MSN schicken
Standard

Das denke ich auch, das die meta weiterleitung nciht im body bereich funktionieren wird. deshalb bleibt mir wohl nix anderes übrig ausser einen html link zu erstellen. Schade!

Trotzdem danke. Wenn doch noch jemand eine idee hat, bitte melden. Würde mich freuen.
__________________
Kommt Zeit, Kommt Rat!
.visit » TNK-Studios.de
.visit » TolgaFFM @ YouTube.de
TeazY ist offline  
Alt 10.01.2008, 19:54  
Erfahrener Benutzer
 
Registriert seit: 14.10.2007
Beiträge: 302
PHP-Kenntnisse:
Fortgeschritten
Papst befindet sich auf einem aufstrebenden Ast
Standard

Deine Ausgabe in eine Funktion/Klasse kapseln
Papst ist offline  
Alt 10.01.2008, 21:16  
Erfahrener Benutzer
 
Benutzerbild von Montellese
 
Registriert seit: 30.07.2007
Beiträge: 541
Montellese befindet sich auf einem aufstrebenden Ast
Montellese eine Nachricht über MSN schicken
Standard

Zitat:
Zitat von drieling Beitrag anzeigen
Ich glaube die Meta Weiterleitung wird nicht im Body Bereich funktionieren.
Alles Quatsch!!!
Benutze das in praktisch jedem Login-Script. Man kann den Meta-Tag hinschreiben wo man will und es funktioniert. Mag dann vielleicht nicht ganz XHTML-Konform sein, aber wenns nur ne kleine Weiterleitungsseite ist, ist das ja nicht so dramatisch. Das wird auch genau so z.B. beim WoltLab Burning Board gemacht. Da würd überprüft, ob der Login korrekt ist und wenn das zutrifft, wird ne Meldung ausgegeben und mit der Meldung wird der Meta-Tag mittem im <body> irgendwo zwischen irgendwelchen divs etc eingefügt und man wird ganz normal weitergeleitet.
Montellese ist offline  
Alt 11.01.2008, 08:39  
Erfahrener Benutzer
 
Registriert seit: 08.08.2007
Beiträge: 549
PHP-Kenntnisse:
Fortgeschritten
drieling befindet sich auf einem aufstrebenden Ast
drieling eine Nachricht über ICQ schicken
Standard

und wieder was dazu gelernt
drieling ist offline  
Alt 11.01.2008, 15:40  
Erfahrener Benutzer
 
Registriert seit: 12.12.2007
Beiträge: 137
TeazY befindet sich auf einem aufstrebenden Ast
TeazY eine Nachricht über ICQ schicken TeazY eine Nachricht über MSN schicken
Standard

stimmt, es funktioniert. Jetzt hab ich wenigstens ein problem weniger. Danke für den tipp. Hätt ichd as nur früher gewusst. Bin aber auch davona sugegangen das das nur im head bereich funktionier tund hab`s deshalb gar nicht erst ausprobiert. xD Danke!
__________________
Kommt Zeit, Kommt Rat!
.visit » TNK-Studios.de
.visit » TolgaFFM @ YouTube.de
TeazY ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Download einer csv-Datei netty PHP-Fortgeschrittene 6 02.05.2008 15:53
https header und Cookie TailerD PHP Tipps 2008 5 26.01.2008 19:54
Auslagern von Menü & Header SoulDream PHP Tipps 2008 3 07.11.2007 13:23
Cannot modify header information PHP-Fortgeschrittene 13 24.10.2006 20:01
Downloads: Header mal senden, und mal nicht (???) PHP Tipps 2005 2 12.05.2005 00:03
Problem: Cannot modify header information Alpha Centauri PHP Tipps 2005 11 25.04.2005 13:05
header prob mit auth und smarty PHP Tipps 2005 4 07.03.2005 12:10
[Erledigt] Datei selber nach einer Abfrage senden, header() geht nicht? PHP Tipps 2005 2 23.02.2005 05:58
Redirect mit Header - Problem PHP Tipps 2005 3 22.02.2005 10:28
[Erledigt] mail() header herausfinden PHP-Fortgeschrittene 4 16.01.2005 23:26
[Erledigt] header im frame Datenbanken 3 26.08.2004 12:44
Warning: Cannot modify header... einbinden nicht möglich? PHP Tipps 2004 2 07.08.2004 15:06
ankommender http header in einem php script auslesen PHP Tipps 2004 0 19.07.2004 23:37
Header Probleme! Calexico PHP Tipps 2004 7 30.06.2004 23:05
header PHP Tipps 2004 4 03.06.2004 22:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
header location groß oder klein schreiben xhtml?, meta tags \header php\, burning board header php code, woltlab head.php, cannot modify header information - headers already sent by php mit klasse, metatags elegant einfügen, weiterleitung php headers already sent woltlab, wie kan ich eine nachricht schciken wenn ich header benutze php

Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum