php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.06.2004, 18:21  
Gast
 
Beiträge: n/a
Standard $_GET und Session

Folgendes will ich realisieren.

Ich erstelle eine seite die zweisprachig ist. Auf der Startseite kann man die sprache aussuchen. Die sprachenkürzel sollen per $_GET in eine session geschrieben werden und auf allen folgenden seiten soll abgefragt werden:
ist die session nicht gesetzt soll er sich das $_GET holen und in die session schreiben. wenn aber kein $_GET argument mitgegeben wurde soll er als standart in die Session de schreiben für deutsch.

Wenn nämlich jemand nicht auf die startseite sondern auf eine andere seite kommt soll standartmäßig deutsch eingestellt sein. oben in dem menü kann er dann die sprache auswählen und die soll in eine session geschrieben werden.
irgendwie kriege ich das nciht hin.
hier mein amatör versuch:

Code:
$sprachauswahl = $_GET['sprache'];
if(!isset($_SESSION['sprache']) /*and $sprachauswahl!=("de" or "en")*/){
$_SESSION['sprache']="de";
}
else{
		
$_SESSION['sprache']=$sprachauswahl;
}
kann mir jemand helfen?
hab schon die suche benutzt aber nix gefunden.

danke
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 20.06.2004, 18:28  
Gast
 
Beiträge: n/a
Standard

so könnte man das lösen:
Code:
session_start();
if(ereg("^de$|^en$",$_SESSION['sprache'])){
$sprache=$_SESSION['sprache'];
} elseif(ereg("^de$|^en$",$_GET['sprache'])){
$_SESSION['sprache']=$_GET['sprache'];
$sprache=$_GET['sprache'];
} else {
echo "bitte sprache auswählen";
}
die sprache steckt dann in jedem fall in der variable $sprache egal ob sessions oder $_GET
falls keine sprache ausgewählt ist folgt eine fehlermeldung
du kannst es natürlich auch so ändern dass wenn keine sürache ausgewählt ist die sprache deutsch ist
 
Alt 20.06.2004, 18:35  
Gast
 
Beiträge: n/a
Standard

danke für die schnelle antwort.

aber ich kapiere den code nicht ganz

ereg("^de$|^en$",$_SESSION['sprache'])
was genau passiert da?
 
Alt 20.06.2004, 18:38  
Gast
 
Beiträge: n/a
Standard

das ist ein regulärer ausdruck
infos dazu gibts unter http://de3.php.net/manual/de/ref.regex.php
dieser reguläre ausdruck bewirkt das selbe wie
Code:
$_SESSION['sprache']=="de" OR $_SESSION['sprache']=="en"
is halt nur um einiges kürzer deswegen verwende ich das gerne
 
Alt 20.06.2004, 18:41  
Gast
 
Beiträge: n/a
Standard

ok das ist jetzt klar. aber eins verstehe ich noch nicht.
in der variable $sprache habe ich jetzt meinen sprachenkürzel.
aber in eine session wird der kürzel ja nicht geschrieben oder?
ich meine eine auswahl soll ja für den ganzen besuch gelten.

und gibt es eine möglichkeit das ganze in eine funktion zu packen in einer externen datei?
 
Alt 20.06.2004, 18:45  
Gast
 
Beiträge: n/a
Standard

Code:
session_start(); 
if(ereg("^de$|^en$",$_SESSION['sprache'])){ 
$sprache=$_SESSION['sprache']; 
} elseif(ereg("^de$|^en$",$_GET['sprache'])){ 
>>>>>$_SESSION['sprache']=$_GET['sprache'];<<<<<
$sprache=$_GET['sprache']; 
} else { 
echo "bitte sprache auswählen"; 
}
habe die anweisung zum in die session schreiben hervorgehoben
wenn als default deutsch ausgewählt werden soll sieht es so aus:
Code:
session_start(); 
if(ereg("^de$|^en$",$_SESSION['sprache'])){ 
$sprache=$_SESSION['sprache']; 
} elseif(ereg("^de$|^en$",$_GET['sprache'])){ 
>>>>>$_SESSION['sprache']=$_GET['sprache'];<<<<<
$sprache=$_GET['sprache']; 
} else { 
>>>>>$_SESSION['sprache']="de";<<<<<
$sprache="de";
}
EDIT: mist innerhalb von code-tags funktioniert kein anderer bb-code
hab das jetzt mit <<<<< markiert
 
Alt 20.06.2004, 18:51  
Gast
 
Beiträge: n/a
Standard

wegen der funktion oder externen datei:
du kannst das einfach in eine datei sprache_check.php packen und dann immer am anfang jedes scriptes include
Code:
include("sprache_check.php");
 
Alt 20.06.2004, 18:55  
Gast
 
Beiträge: n/a
Standard

also das funktioniert nur:
1. kommt beim ersten mal immer:
Notice: Undefined index: sprache in /www/htdocs/v106193/schicksal.php on line 12

Notice: Undefined index: sprache in /www/htdocs/v106193/schicksal.php on line 16

Kann man das irgendwie unterbinden? also wie man es unterbindet weiß ich, ich mein so unterbinden das alles korrekt ist.

und 2.
man kann jetzt keine sprache wechseln. wenn man sich einmal entschieden hat kann man es nicht wieder ändern.
 
Alt 20.06.2004, 19:01  
Gast
 
Beiträge: n/a
Standard

zu 1.
du musst notices unterdrücken: http://de3.php.net/error_reporting
so dass es komplett korrekt ist, ist schwer zu machen denn irgendwie muss man ja einen ggf. undefinierten index benutzen um dessen wert der ja ggf. vorhanden ist herauszubekommen
zu 2.
einfach das if und das elseif austauschen:
Code:
session_start();
if(ereg("^de$|^en$",$_GET['sprache'])){ 
$_SESSION['sprache']=$_GET['sprache'];
$sprache=$_GET['sprache']; 
} elseif(ereg("^de$|^en$",$_SESSION['sprache'])){ 
$sprache=$_SESSION['sprache']; 
} else { 
$_SESSION['sprache']="de"; 
$sprache="de"; 
}
jetzt wird nur die sprache aus der session genommen wenn sie nicht in $_GET vorhanden ist
 
Alt 20.06.2004, 19:17  
Gast
 
Beiträge: n/a
Standard

ok danke es klappt und ich bin zufrieden.

many thanx!!!!!!!!!!
 
 


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
[Erledigt] Session Problem karina_02 PHP Tipps 2008 6 18.05.2008 22:37
Session Variablen als Referenz!? O_o Sam781 PHP-Fortgeschrittene 4 01.10.2007 11:19
Problem bei session Lifetime Cyberbob_at_tot PHP Tipps 2007 5 05.06.2007 17:47
session nach seitenwechsel leer... GELight PHP Tipps 2006 8 17.09.2006 15:17
session array Timo Trallala PHP Tipps 2006 18 22.04.2006 13:45
Frage zur Anwendung einer Session mehrfach... GELight PHP Tipps 2006 10 12.03.2006 16:47
[Erledigt] php session problem :( PHP Tipps 2005-2 5 21.10.2005 16:37
Session abschaltbar?? Probleme mit Objekten in Session! becks123 PHP-Fortgeschrittene 3 19.09.2005 15:47
Bei Session - verfall socke PHP Tipps 2005-2 12 01.09.2005 02:30
Klassenobjekt in ner Session speichern?! Finkman PHP Tipps 2005-2 5 09.08.2005 00:38
Session wird nicht angelegt PHP Tipps 2005-2 7 24.07.2005 13:35
Kreieren einer Session PHP Tipps 2005 11 28.05.2005 15:16
verliere Session Sonja PHP Tipps 2005 3 27.04.2005 09:32
[Erledigt] Formulardaten in einer Session speichern, per Link übergeben PHP Tipps 2004-2 2 29.12.2004 15:47
[Erledigt] Hilfe...PhpBB Session Problem!! PHP Tipps 2004-2 2 15.12.2004 18:28

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
aus $_get[] eine session erstellen, if(ereg(\de\,$sprache)) {, $_get sprache setzen, php sprache $_get, php session sprache, php get durch session ersetzen, php sprachauswahl in session speichern, php sprache ändern nur $_session, php sprachumschaltung session, php sprachauswahl session, $_get über session, sprache in der session merken, $_session php $_get, $_session = $_get, sprachauswahl in session speichern, $_get[session], php session sprache wechseln, $_session[sprache], $_get in session schreiben, $_get sessions

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