php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.10.2005, 17:18  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard Header Weiterleitung

Hallo zusammen, in einem Script von mir verwende ich mehrere Sprachen. Um diese Sprache jeweils auf der aktuellen Seite zu ändern gibt es einen Link zu einer Datei in der die Session auf die jeweilige Sprache angepasst wird. Desweiteren übergebe ich mit der Sprache zusammen auch den aktuellen Pfad zu meinem Script, so dass man nach dem wechseln der Sprache wieder auf die aktuelle Seite kommt.

Der link sieht so aus: lang.php?lang=en&redirect=/fenning/index.php?content_id=2&module=Ueber-uns.html

Die lang.php sieht folgendermaßen aus:
PHP-Code:
<?php
//Benutzersprache wechseln
if(isset($_GET["lang"])){
    
    
session_register("lang");
    
$_SESSION["lang"] = $_GET["lang"];

    
header("Location: $_GET[redirect]");
}
?>
Eigentlich funktioniert alles bis auf die Weiterleitung die die Seite wieder aufrufen soll. Wenn der Link so aussieht funktioniert es:

index.php?content_id=2

Wenn ich aber noch eine Variable anhänge übergibt er sie zwar aber der header leitet diese nicht mehr weiter. D.h. wenn ich so einen Link eingebe:

index.php?content_id=2&module=Ueber-uns.html

kommt am Schluss doch nur das raus: index.php?content_id=2

Kann es sein dass ich beim header was vergessen hab oder wieso funktioniert das nicht?

Gruß
duderino
duderino ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 11.10.2005, 17:25  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich weiß nicht, aber könnte es sein, dass der parser glaubt, dass &module; sich noch auf den normalen link (also nicht auf den redirect link) bezieht?

ich weiß nicht, wie man das umgehen könnte.. evt. escapen ( \ )..

mfg Andi

PS: bitte vorher überprüfen, ob $_GET['lang'] und $_GET['redirect'] gültig sind..
DER_Brain ist offline  
Alt 11.10.2005, 17:29  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

nein daran liegt es nicht. Ich übergebe z.B. in einer anderen Datei so einen Link:

produkte.php?action=details&artikelnummer=10003

Hier funktioniert es auch nicht. Das &artikelnummer=xxxx wird grad weggelassen.
duderino ist offline  
Alt 11.10.2005, 17:31  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hm.. is mir ganz neu sowas!

poste mal nen link auf deine php_info datei..

mfg Andi
DER_Brain ist offline  
Alt 11.10.2005, 17:33  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

www.duderino.de/phpinfo.php
duderino ist offline  
Alt 11.10.2005, 17:36  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mach oben mal error_reporting(E_ALL); ins script..

vielleicht gibt er dir nen notice aus..

mfg Andi
DER_Brain ist offline  
Alt 11.10.2005, 20:05  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

Nein, da kommt kein Notice.
Hat vielleicht sonst noch jemand ne Idee?
duderino ist offline  
Alt 11.10.2005, 20:29  
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von DER_Brain
ich weiß nicht, aber könnte es sein, dass der parser glaubt, dass &module; sich noch auf den normalen link (also nicht auf den redirect link) bezieht?

ich weiß nicht, wie man das umgehen könnte.. evt. escapen ( \ )..
Das ist schon richtig und daran wird es wohl auch liegen: du musst & hier durch %26 ersetzen, ganz genau genommen ?, /, = auch!

Probiers mal damit:
lang.php?lang=en&redirect=%2Ffenning%2Findex.php%3 Fcontent_id%3D2%26module%3DUeber-uns.html
 
Alt 11.10.2005, 20:34  
Erfahrener Benutzer
 
Registriert seit: 02.08.2004
Beiträge: 472
duderino
Standard

Aber der Parser wird ja mit 2 '' umgangen!?
Außerdem bekomm ich den Pfad zu dem aktuellen Script ja von einer Globale. D.h. ich kann daran nichts verändern. Ich könnte nur mit str_replace alles ummodeln. Glaub aber kaum dass das was hilft.
duderino ist offline  
Alt 11.10.2005, 20:46  
Erfahrener Benutzer
 
Benutzerbild von DER_Brain
 
Registriert seit: 18.04.2005
Beiträge: 1.541
PHP-Kenntnisse:
Fortgeschritten
DER_Brain ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich glaub du verstehst nicht genau, was gemeint ist..

nimm dieses bsp.:

PHP-Code:
<?php
// $_GET['redirect'] = "index.php?test=test&a=b";

if(isset($_GET['redirect'])){
  
header("location: page.php?variablexy=xy&redirect=[b]index.php?test=test&a=b[/b]");
}
?>
das fett geschriebene ist der andere link.. aber der parser glaubt, dass die GET variable redirect folgendermaßen lautet:
index.php?test=test

alternativ ginge vlt. auch das (um zu deinem bsp. zu gehen)

PHP-Code:
<?php

//Benutzersprache wechseln
if(isset($_GET["lang"])){
   
   
session_register("lang");
   
$_SESSION["lang"] = $_GET["lang"];
   
$redirect $_GET['redirect'];
   
str_replace("&""&amp;"$redirect);
   
header("Location: $redirect");
}
?>
DER_Brain 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
https header und Cookie TailerD PHP Tipps 2008 5 26.01.2008 19:54
header() ??? TeazY PHP Tipps 2008 9 11.01.2008 15:40
PHP weiterleitung mit header (FEHLER) PHP Tipps 2006 9 13.02.2006 14:27
header Weiterleitung [url]www.mobile-clubbing.de/gallerie[/url] PHP Tipps 2005-2 2 28.08.2005 19:30
header weiterleitung aus variabele PHP Tipps 2005-2 7 09.06.2005 15:33
Problem: Cannot modify header information Alpha Centauri PHP Tipps 2005 11 25.04.2005 13:05
weiterleitung request header PHP Tipps 2005 10 04.04.2005 10:33
weiterleitung mit header aber erst nach 2 oder 3sec GELight PHP Tipps 2005 6 17.03.2005 23:25
header prob mit auth und smarty PHP Tipps 2005 4 07.03.2005 12:10
Redirect mit Header - Problem PHP Tipps 2005 3 22.02.2005 10:28
Weiterleitung mit header PHP Tipps 2004-2 2 26.11.2004 13:47
Alternative Weiterleitung ohne Header? imported_dex PHP Tipps 2004 2 05.11.2004 10:47
Weiterleitung mit header PHP Tipps 2004 10 26.09.2004 23:13
Warning: Cannot modify header... einbinden nicht möglich? PHP Tipps 2004 2 07.08.2004 15:06
Header Probleme! Calexico PHP Tipps 2004 7 30.06.2004 23:05

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php redirect ohne header, php weiterleitung header, php header weiterleitung, php header get variable anhängen, header weiterleitung php, php weiterleitung ohne header, http://www.php.de/php-tipps-2005-2/32277-header-weiterleitung.html, php redirect sprache, redirect ohne header php, sprache redirect php, php sprach redirect, php weiterleitung header mobile, php weiterleitung sprache, php get redirect anhängen, sprache weiterleitung php, index.php weiterleitung, header php weiterleitung, redirect php ohne header, umleitung im header umgehen, php if header weiterleitung

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:59 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.