php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.12.2004, 11:04  
Gast
 
Beiträge: n/a
Standard Problem mit Weiterleitung

Hallo,

ich hoffe ihr könnt mir bei folgendem Problem behilflich sein:

Ich programmiere ein Online-Auktionshaus, und möchte nun, wenn ein nicht eingeloggter Benutzer auf z.b. "Bewertung abgeben" klickt, zunächst die Seite mit dem Login-Formular aufrufen, und dann, wenn der Login-Vorgang erfolgreich war, zum Bewertungsformular weiterleiten.

Das Problem ist nur, da im Endeffekt alles in die index.php Datei eingebunden wird, kann ich nicht mit header("Location: xxx") arbeiten, ich bekomme die Fehlermeldung:

Cannot modify header information - headers already sent by ...index.php

Wie kann ich mein Problem auf andere Weise umsetzen?

Ich wäre euch für Eure Hilfe sehr dankbar!

mfg
atilla
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.12.2004, 11:09  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Das Problem ist, dass irgendwo vor dem header() bereits eine HTML- Ausgabe erfolgt ist.

Wenn du beispielsweise eine index.php hast, die bereits Design usw. aufbaut und dann erst sehr spät tief in anderen Files diese Weiterleitung machen willst, hast du nur wenige Möglichkeiten:
1. alles neu machen

2. in der index.php mit ob_start und so weiter arbeiten. Damit machst du das ganze Design in einen Puffer. Wenn du dann an die Stelle mit dem header kommst, verwirfst du den ganzen Puffer und machst dein header() und brichst mit der Ausführung des Scriptes ab.

3. Mit Meta- Refreshes arbeiten. Die sind HTML und kein HTTP-Header und obwohl das nicht sauber ist, funktionieren die bei jedem mir bekannten Browser (sogar bei Lynx) auch mitten in einer Datei und nicht nur in <head>
mepeisen ist offline  
Alt 22.12.2004, 11:15  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

ob_start();
sollte dir vieleicht ne möglichkeit bieten das ganze einfahc zu umgehen und es bietet dir auch die möglichkeit deinen output zu komprimeiren, was bei nem großen system durchaus sinnvoll sein kann.

mfg
robo47
robo47 ist offline  
Alt 22.12.2004, 11:33  
Gast
 
Beiträge: n/a
Standard

ich hätte da nen anderen vorschlag...

du wirst sicherlich doch einen counter haben oder? -wenn nicht erstell einfach ne kleine tabelle..

ip | referer

wenn man auf dein bewerten klickt, login funktion wird aufgerufen -->
per $HTTP_REFERER die referer seite in der tabelle bei der zugehörigen IP speichern...

Nach login
if( eine url bei der IP vorhanden --

Code:
<head> \n <script LANGUAGE=\"JavaScript\" FOR=\"window\" EVENT=\"onLoad()\"> \n  \n </script></head>
und schon biste wieder auf der seite, jedoch eingeloggt....
 
Alt 22.12.2004, 11:33  
Gast
 
Beiträge: n/a
Standard

Vielen Dank schonmal für eure schnellen Antworten!

Habs jetzt auf die schnelle mal mit meta refresh realisiert - funktioniert wunderbar.

Die ob_start bzw. Pufferfunktionen kenn ich noch nicht, klingt aber durchaus interessant. Werds mir gleich mal anschauen.

gruss
atilla
 
Alt 22.12.2004, 11:35  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Pi11e
ich hätte da nen anderen vorschlag...

du wirst sicherlich doch einen counter haben oder? -wenn nicht erstell einfach ne kleine tabelle..

ip | referer

wenn man auf dein bewerten klickt, login funktion wird aufgerufen -->
per $HTTP_REFERER die referer seite in der tabelle bei der zugehörigen IP speichern...

Nach login
if( eine url bei der IP vorhanden --

Code:
<head> \n <script LANGUAGE=\"JavaScript\" FOR=\"window\" EVENT=\"onLoad()\"> \n  \n </script></head>
und schon biste wieder auf der seite, jedoch eingeloggt....
ist halt immer limitiert dass es nur bei usern klappt die javascript aktiviert haben
robo47 ist offline  
Alt 22.12.2004, 11:54  
Gast
 
Beiträge: n/a
Standard

Ja aber wer hat denn heut zu tage kein java??

machst du deine Seite für ne Auflösung von 640 x 480 ?
- auch eher weniger, oder?
 
Alt 22.12.2004, 11:59  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 4.651
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblickmepeisen ist ein Lichtblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Zitat:
Zitat von Pi11e
Ja aber wer hat denn heut zu tage kein java??
Ein Vergleich der Sprache Java mit dem undefinierbaren Zustand "JavaScript" ist einfach böse...

Mal im Ernst. Was macht das JavaScript anders als ein entsprechendes Meta-Refresh. Ausser der Tatsache, dass Meta-Refresh immer funktioniert, auch ohne JavaScript und auch in Lynx???
mepeisen ist offline  
Alt 22.12.2004, 12:03  
Gast
 
Beiträge: n/a
Standard

Ja also funzt das doch auch bei jedem....

@mepeisen

Ich habe nicht die Ahnung von Java bzw. JavaScript <--- was da nun der Unterschied ist...

Jedenfalls umgehe ich so header(Location: xxx), wenn es net funzt...
 
Alt 22.12.2004, 12:17  
Moderator
 
Benutzerbild von robo47
 
Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse:
Fortgeschritten
robo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblickrobo47 ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Pi11e
Ja aber wer hat denn heut zu tage kein java??

machst du deine Seite für ne Auflösung von 640 x 480 ?
- auch eher weniger, oder?
das sind 2 verschiedene paar schuhe, da setze ich nach möglichkeit auf kompatibilität und es lässt scih eigentlich immer über metarefresh bzw header weiterleiten wenn der rest des programms vernünftig aufgebaut ist.

ob_start() liefert hierzu den besten weg und man kann gleichzeitig noch kompression verwenden.

mfg
robo47
robo47 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
Weiterleitung dynamisch-statisch, Problem htaccess snowflow Server, Hosting und Workstations 0 04.06.2008 12:47
Problem mit CAPTCHA patEwing PHP Tipps 2008 0 11.02.2008 21:57
PHP: Kompliziertes Problem mit Datum nicobischof PHP-Fortgeschrittene 3 07.01.2008 10:05
problem mit weiterleitung killerboost PHP Tipps 2007 3 05.08.2007 17:19
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
[Erledigt] Problem mit User/Group: nobody(99)/99 Server, Hosting und Workstations 3 09.07.2005 15:31
Weiterleitung funtkioniert nicht PHP Tipps 2005-2 12 05.07.2005 09:47
Sessiondaten mit <META HTTP-EQUIV=Refresh..> Problem PHP Tipps 2005-2 10 24.06.2005 13:31
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
Weiterleitung nach bestimmter Zeit PHP Tipps 2004-2 7 24.11.2004 17:50
Problem mit der Weiterleitung PHP Tipps 2004-2 5 15.11.2004 09:27
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php weiterleitung nach auflösung, auflösung php weiterleitung, weiterleitung nack klick von html zu .php, \php weiterleitung auflösung, pi11e.de, pi11e, weiterleitung php funzt nicht

Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.