php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.11.2006, 10:49  
Erfahrener Benutzer
 
Registriert seit: 07.11.2003
Beiträge: 526
Promaetheus
Standard languages mit session oder urlübergabe lösen?

ich habe ein kleines cms geschrieben, welches multilingual funktioniert. meine überlegung ist nun ob ich die sprache als url-variable (so wie den content) übergebe, oder in einer session variable speichere.

mit url (vorteil: brauche keine sessions, nachteil: variable immer in url sichtbar):
PHP-Code:
<?php
// languages
$sql "SELECT lang_id
        FROM languages"
;
$query mysql_query($sql);
$lang = array();
while(
$data mysql_fetch_array($query)) {
  
$languages[] = $data['lang_id'];
}
sort($languages);
// $lang_count = count($languages);
$lang $_GET['lang'];
if(!
in_array($lang$languages)) {
  
$lang 'de';
};

// content
$cont $_GET['cont'];
if(!
file_exists(DIR_WS_SITES.$cont.'.php')) {
  
$cont 'start';
}
?>
mit sessions (vorteil: ich brauche die sprache nicht jedesmal mit der url weitergeben, nachteil: session id muss ich immer mit url weitergeben):
PHP-Code:
<?php
// languages
$sql "SELECT lang_id
        FROM languages"
;
$query mysql_query($sql);
$lang = array();
while(
$data mysql_fetch_array($query)) {
  
$languages[] = $data['lang_id'];
}
sort($languages);
if(isset(
$_GET['lang']) && in_array($_GET['lang'], $languages)) {
  
$_SESSION['active_lang'] = $_GET['lang'];
} elseif(!isset(
$_SESSION['active_lang'])) {
  
$_SESSION['active_lang'] = 'de';
};
$lang $_SESSION['active_lang'];

// content
$cont $_GET['cont'];
if(!
file_exists(DIR_WS_SITES.$cont.'.php')) {
  
$cont 'start';
}
?>
__________________
mfg Alexander Haim
Promaetheus ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 03.11.2006, 12:12  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Oder im Zusammenspiel mit ModRewrite:
http://example.com/deDE/home.php

Wie du es machst liegt an dir. Per Session hat halt den Nachteil, dass die Spracheinstellung bei Bookmark verloren geht.
Zergling-new ist offline  
Alt 04.11.2006, 13:32  
Erfahrener Benutzer
 
Registriert seit: 27.08.2003
Beiträge: 449
PHP-Kenntnisse:
Fortgeschritten
GSJLink
Standard

Wie siehts aus mit Cookie und Session? Dann haste die Language für die aktuelle Sitzung und auch bei der nächsten, solange der Nutzer das Cookie nicht löscht. Und wenn der User Cookies deaktiviert hat, haste ja immer noch die Session

mfg
Link
__________________
"Ein Script ist nur dann gut, wenn es unabhängig von der verwendeten Plattform funktioniert"
GSJLink ist offline  
Alt 04.11.2006, 13:52  
Erfahrener Benutzer
 
Registriert seit: 07.11.2003
Beiträge: 526
Promaetheus
Standard

jep. ich habs jetzt einfach mit der variante ohne sessions gelöst. ist auch url-freundlicher, da ich mich mit modrewrite nicht so gut auskenne und auch, so denke ich, nicht die nötigen rechte am server habe.
__________________
mfg Alexander Haim
Promaetheus ist offline  
Alt 04.11.2006, 14:30  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Schau doch einfach in der phpinfo() unter apache2handler und loadedmodules nach, ob das Modul mod_rewrite im verwendeten Apache verfügbar ist.
Dann einfach noch eine .htaccess anlegen, Mist reinschreiben und schauen ob der Server jetzt einen 500-Fehler meldet (dann wird .htaccess und der Murgs dadrin offenbar geladen) und schon kanns mit ModRewrite losgehen. Einmal ist immer das erste Mal
Zergling-new ist offline  
Alt 04.11.2006, 18:53  
Erfahrener Benutzer
 
Registriert seit: 07.11.2003
Beiträge: 526
Promaetheus
Standard

danke für den tipp. werde mich da mal einlesen. jedoch sehe ich hier das problem dass man dann, wenn man ein cms mit modrewrite programmiert, abhängig ist ob das im apache dann auch verfügbar ist. ich denke ich werde mir das zwar anschauen, weil ichs interessant finde, jedoch für mein cms die sache mit urlübergabe verwenden.
__________________
mfg Alexander Haim
Promaetheus ist offline  
Alt 04.11.2006, 19:38  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von Promaetheus
jedoch sehe ich hier das problem dass man dann, wenn man ein cms mit modrewrite programmiert, abhängig ist ob das im apache dann auch verfügbar ist.
ModRewrite ist ein Standard-Modul des Apache, man muss es explizit deaktivieren und ich sehe keinen Grund, warum ein Hoster das machen sollte.
Alle größeren Boards arbeiten übrigens mit ModRewrite und die sind ja auch sehr stark verbreitet.

Möglich ist es aber, da hast du Recht.
Zergling-new ist offline  
Alt 04.11.2006, 20:17  
Erfahrener Benutzer
 
Registriert seit: 07.11.2003
Beiträge: 526
Promaetheus
Standard

danke. werde mich mal in die thematik einlesen. bin zwar nicht so DER fan von httaccess, aber interessieren tut mich das thema.
__________________
mfg Alexander Haim
Promaetheus ist offline  
Alt 04.11.2006, 21:33  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Bleib Up2Date, sonst landeste da wo dein Avatar is
Zergling-new ist offline  
Alt 05.11.2006, 16:36  
Erfahrener Benutzer
 
Registriert seit: 07.11.2003
Beiträge: 526
Promaetheus
Standard

hehe. werd ich machen.
__________________
mfg Alexander Haim
Promaetheus 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
[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 Logout Login Navigation TailerD PHP Tipps 2006 10 24.06.2006 17:12
[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
Session error nach Umstellung auf PHP 5 PHP Tipps 2005 15 13.05.2005 14:35
Session Problem PHP-Fortgeschrittene 3 18.02.2005 14:37
[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
session variable an htaccess übergeben, mod_rewrite session bleibt leer

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