Need help with Cookie & PHP

Flame

Erfahrenes Mitglied
Hallo @ll,

ich habe eine Startseite, bei der wird die Sprache ausgewählt.
PHP:
<?php
echo '<a href="search.inc.php?language=en">English</a>';
echo '<br><a href="search.inc.php?language=de">Deutsch</a>';
?>

Bei der 2. Seite steht ja dann das jeweilige 'en' oder 'de' in der URL.
In dieser Seite include ich eine datei Namens functions.php

In der functions.php wird die Variable $language abgefragt und der Cookie dementsprechend gesetzt.

Das alles geht ja. Aber erst nach einem Reaload.
Warum es nit von vornherein?

Was mache ich falsch?
hier der Code aus der Functions.php
PHP:
<?php
error_reporting(E_ALL);

if($language == "en")
{
$user['Language'] = 'en';
}
else
{
$user['Language'] = 'de';
}
//Laguage File 
$lang = array();
if(!file_exists($lfile = "sprachen/".$user['Language'].".lang.php"))
{ die("Language file '".$lfile."' not found"); }
setcookie("Sprache", $lfile);
?>
 
wie in der search.inc.php?

include('functions.inc.php');
include('config.inc.php');
$language1 = $_COOKIE['Sprache'];
include("$language1");

So fängt meine search.inc.php an.

Nun habe ich gelesen, das die cookies ja erst nach abarbeiten des scriptes geschrieben werden.
Das würde ja erklären, warum es erst nach nem reload funktioniert. Denn da wurde es ja dann schon einmal abgearbeitet.
Aber wie könnte ich das nun lösen, ohne immer erst reloaden zu müssen. das kann man ja niemanden zumuten.
 
Startseite mit lang.-auswahl => auf eine Seite leiten die den Keks setzt und wieder => zurück zur Startseite per location() oder meta-refresh.
Was besseres fällt mir spontan ned ein :(

Grüße, Morph
 
Hmm, hab grad gemrkt, das es doppelt gemoppelt ist.

Nun hab ich folgenden Code in der Search.inc.php

PHP:
include('functions.inc.php');
include('config.inc.php');
include("$lfile");

Das jetzt ohne reloaden zu müssen.

Nur eben bei der 3 Seite, die danach aufgerufen wird, es nit mehr.
Weils ja da nicht mher in der URL steht. *grml*

:FLAmE:
 
Hallo, Ich hab es mittlerweile geschafft, das auch auf der 3. Warenkorbseite die entsprechende Sprache funktioniert. Aber bei einem realod springt die Sprache auf Deutsch zurück. *grml*

Woran kann das nun wieder liegen?

:FLAmE:
 
Zurück