Session Cookie wird anscheinend nicht gespeichert

10/23/2014 08:55 thetruestarr1337#1
Guten Tag,

ich habe eine Website mit Multilanguage Support. Jeweils Deutsch und Englisch sind in Arrays ausgelagert. Mit einem klick auf einem Link, soll die Variable de oder en mitgegeben werden. Klicke ich aber auf eine andere Seite in z.b der Navigation. Springt die Sprache wieder auf die Standard Sprache, im meinem Fall de.

Grober Aufbau meiner Files:

index.php
PHP Code:
<?php
    session_start
();
    include 
'./includes/core.lang.php';
?>
<a href="index.php?page=home"><?php echo $lang['MENU_HOME']; ?></a></li>
<a href="index.php?lang=de">DEUTSCH</a> - <a href="index.php?lang=en">ENGLISH</a>

core.lang.php:

PHP Code:
<?php
    
if (isset($_GET['lang'])) 
    {
        
$lang $_GET['lang'];
        
$_SESSION['lang'] = $lang;
        
setcookie("lang"$langtime() + (3600 24 30), "/");
    }elseif (isset(
$_SESSION['lang'])){
        
$lang $_SESSION['lang'];
    }
    else if(isset(
$_COOKIE['lang']))
    {
        
$lang $_COOKIE['lang'];
    }
    else{
        
$lang 'de';
    }
    switch (
$lang
        {
            case 
'en':
            
$lang_file 'lang.en.php';
            break;

            case 
'de':
            
$lang_file 'lang.de.php';
            break;
        }
    include_once 
'./includes/language/'.$lang_file;
?>
Mein Problem ( anscheinend ) ist, das die Session bzw der Cookie nicht gespeichert wird.
In Chrome ist unter meinem Domainnamen nichst zufinden


Mit Freundlichem Gruß
thetruestarr
10/23/2014 17:26 3lue#2
Gibt das Error-Log irgendetwas aus?
10/23/2014 18:24 thetruestarr1337#3
Quote:
Originally Posted by n3xus' View Post
Gibt das Error-Log irgendetwas aus?
Nein das ist das merkwürdige :/



Ich habe meine Codeteile in neue Dateien gepackt. So das es originalgetreu ist.

Und es hat funktioniert. Keine Fehler und Cookies wurden gesetzt.

Jedenfalls: Warum funktioniert das "nachgebaute" aber das Original nicht?
10/25/2014 21:06 thetruestarr1337#4
Problem besteht immer noch :/

EDIT:
Danke für die ganzen Hilfsversuche. Hab es hinbekommen...

Meine index.php war in UTF-8.. habs sie auf UTF-8 ohne BOM gestellt.. und nun geht es :)

Ich könnte Haare ausreißen
10/30/2014 14:11 Ammy'#5
Mit welchen Editor arbeitest du denn ? Ein wechsel könnte hier helfen.
11/05/2014 15:27 thetruestarr1337#6
Notepad++
11/05/2014 20:56 mlukac89#7
PHP Code:
<?php
    
if (isset($_GET['lang'])) 
    {
        
$lang $_GET['lang'];
        
$_SESSION['lang'] = $lang;
        
// setcookie("lang", $lang, time() + (3600 * 24 * 30), "/");
    
}elseif (isset($_SESSION['lang'])){
        
$lang $_SESSION['lang'];
    }
//    else if(isset($_COOKIE['lang']))
//    {
//        $lang = $_COOKIE['lang'];
//    }
    
else{
        
$lang 'de';
    }
    switch (
$lang
        {
            case 
'en':
            
$lang_file 'lang.en.php';
            break;

            case 
'de':
            
$lang_file 'lang.de.php';
            break;
        }
    include_once 
'./includes/language/'.$lang_file;
?>
try this one

PHP Code:
<?php

session_start
();

include_once 
'./includes/language/'.$lang_file;

    if (isset(
$_GET['lang'])) 
    {
        
        
$lang $_GET['lang'];
        
$_SESSION['lang'] = $lang;

    } 
    elseif (isset(
$_SESSION['lang']))
    {
         
$lang $_SESSION['lang'];
    }
    else
    {
        switch (
$lang
        {
            case 
'en':
            
$lang_file 'lang.en.php';
            break;

            case 
'de':
            
$lang_file 'lang.de.php';
            break;
        }
    }
    
?>
11/06/2014 00:06 Devsome#8
Gehört zwar nicht ganz hier rein, aber wenn du mit anderen Sprachen arbeitest, kann ich dir yaml sehr empfehlen ;)
11/06/2014 15:32 thetruestarr1337#9
Hab bisher noch nicht mit yaml gearbeitet :) aber danke, ich werde es mir mal anschauen