Shadowcrow: switch()

Beitrag lesen

hi $name,

Manual hilft vielleicht: http://de2.php.net/manual/en/control-structures.switch.php

danke, ich schau zwar immer im handbuch nach, aber beim switch hatte ich mir nur das http://tut.php-quake.net/switch.html durchgelesen.

Da konnte ich von "return" in einer Switch-Anweisung nichts entdecken. Daher ja mein Versuch, ob ich vielleicht einen "schmutzigen Trick" übersehen hätte.

Danach ist $lang dann mit dem passenden Wert gesetzt.

auch das funktionierte nicht, ich hab jetzt die funktion folgendermaßen umgeschrieben:
 ~~~php

function setupLanguage() {
 global $config, $user_lang, $tb_language;

$path = '/srv/www/htdocs/web12/html/snark/language/';

if ($_REQUEST['language'] && $_REQUEST['language'] != $config['default_language']) {
 //wenn die sprache nicht der default entspricht, muss es wohl deutsch sein, andere auswahlmöglichkeiten hats nicht.
  // visitor has selected a language
  $language_file          =  '/srv/www/htdocs/web12/html/snark/language/german.php';
  $user_lang              = 'german';
 } elseif ($tb_language) {
  // it was set in the page that invoked comments.php
  $language_file          = '/srv/www/htdocs/web12/html/snark/language/german.php';
  $_REQUEST['language']   = 'german';
  $user_lang              = 'german';
 } else {
  // use the default language
  $language_file          = '/srv/www/htdocs/web12/html/snark/language/english.php';
  $_REQUEST['language']   = 'english';
  $user_lang              = 'english';
 }

return $language_file ;
}

  
alle aufrufe der language\_file lauten jetzt:  
$language\_file = setupLanguage();  
include $language\_file;  
  
ich habs getestet (  
a) aus ?language=english z.b. ?language=eng gemacht - da hatte er immer gefiept das die datei eng.php nicht existiert und deswegen nicht inkludiert werden kann.  
b) ein script von einem anderen server drangehängt z.b. ?language=http://example.com/böse.txt  
  
beides wurde ignoriert, der inhalt von language\_file ändert sich nicht (hab ich mit echo überprüft).  
  
btw. die variable language war initalisiert, das habe ich weiter oben in der commen\_functions gefunden, hat wohl nur nichts genutzt.  
  
if (!isset($\_REQUEST['language']))   $\_REQUEST['language']  = '';  
  
so, jetzt muss ich nur noch meinen provider davon überzeugen das er mich wieder meine config.php bearbeitenläßt. ich konnte die zwar auf den server spielen, aber ich bin nicht mehr der besitzer und habe keine rechte mehr daran was zu ändern \*soifz\*, ob mein provider etwas "verschnupft" ist?"  
  
  
gruss  
shadow

-- 
If there's anything more important than my ego around, I want it caught and shot, now.