הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [PHP] החלפת שפות (https://hosts.co.il/forums/showthread.php?t=49736)

-roee- 14-07-07 18:26

[PHP] החלפת שפות
 
שלום

כרגע אני בונה מערכת אשר אמורה להחליף שפות...
לדוגמא יש לי 2 שפות: עברית ואנגלית
לכן יש לי את הקבצים:
lang-he.php
lang-en.php

בדף הראשי ניסיתי לכתוב משהו כזה:
PHP קוד:

if( ! isset($_GET['lang']) )
    {
        
$language "en";
        if( ! 
$_COOKIE['lang'] ) 
        {
            
setcookie("lang","en",time()+3600);
        }
    } else {
        
$language $_GET['lang'];
        
setcookie("lang",$_GET['lang'],time()-1);
        if( ! 
$_COOKIE['lang'] )
        {
            
setcookie("lang",$_GET['lang'],time()+3600);
        }
    }
    require 
"./includes/lang_{$_COOKIE['lang']}.php"

אך למרבה הפלא זה לא עובד...

כלומר כדי להחליף שפה צריך להכנס ל index.php?lang=
אבל כשאני עושה את זה, זה רושם לי את השגיאה:
PHP קוד:

require(./includes/lang_.php) [function.require]: failed to open streamNo such file or directory in......... 

תודה

RS324 14-07-07 18:33

הקוקיז נשמרים רק לאחר שתרענן את העמוד, תוכל להשתמש בהם.

Eran-s 14-07-07 18:34

תעשה שיעשה require למשתנה $language וזהו.
ואם העוגיה קיימת שיקבל את הערך שלה.

-roee- 14-07-07 18:41

ציטוט:

נכתב במקור על ידי Eran-s (פרסם 521013)
תעשה שיעשה require למשתנה $language וזהו.
ואם העוגיה קיימת שיקבל את הערך שלה.

PHP קוד:

    if( ! isset($_GET['lang']) )
    {
        
$language "en";
    } else {
        
setcookie("lang",$_GET['lang'],time()+3600000000);
        
$language $_COOKIE['lang'];
    }
    require 
"./includes/lang_{$language}.php"

זה גם עדיין לא עובד.. רושם את אותה שגיאה

Level-Serv 14-07-07 18:54

ציטוט:

נכתב במקור על ידי bigsmoke (פרסם 521022)
PHP קוד:

    if( ! isset($_GET['lang']) )
    {
        
$language "en";
    } else {
        
setcookie("lang",$_GET['lang'],time()+3600000000);
        
$language $_COOKIE['lang'];
    }
    require 
"./includes/lang_{$language}.php"

זה גם עדיין לא עובד.. רושם את אותה שגיאה

PHP קוד:

if( ! isset($_GET['lang']) ) 
    { 
        
$language "en"
    } else { 
        
setcookie("lang",$_GET['lang'],time()+3600000000); 
        
$language $_GET['lang'];
    } 
    require 
"./includes/lang_{$language}.php"


-roee- 14-07-07 18:56

ציטוט:

נכתב במקור על ידי Level-Serv (פרסם 521050)
PHP קוד:

if( ! isset($_GET['lang']) ) 
    { 
        
$language "en"
    } else { 
        
setcookie("lang",$_GET['lang'],time()+3600000000); 
        
$language $_GET['lang'];
    } 
    require 
"./includes/lang_{$language}.php"


מה שינית בדיוק?

Tomer 14-07-07 18:57

ציטוט:

נכתב במקור על ידי bigsmoke (פרסם 521053)
מה שינית בדיוק?

$_GET['lang'] במקום $_COOKIE['lang']

RS324 14-07-07 19:01

שכתבתי לך קצת את הקוד, ככה גם תוכל להוסיף כמה שפות שאתה רוצה בלי הרבה בעיות.

PHP קוד:

<?php

if (isset($_GET['lang']))
{
    
$lang trim($_GET['lang']);
}
elseif (isset(
$_COOKIE['lang']))
{
    
$lang trim($_COOKIE['lang']);
}
else
{
    
$lang 'he';
}

switch (
$lang)
{
    case 
'he':
        
$filename 'lang-he.php';
    break;
    case 
'en' :
        
$filename 'lang-en.php';
    break;
    default:
        
$filename 'lang-he.php';
        
$lang 'he';
    break;
}
 require_once(
"./includes/lang_$lang.php");
 
setcookie("lang",$lang,time()+time()); 

?>


-roee- 14-07-07 19:08

ציטוט:

נכתב במקור על ידי RS324 (פרסם 521061)
שכתבתי לך קצת את הקוד, ככה גם תוכל להוסיף כמה שפות שאתה רוצה בלי הרבה בעיות.

PHP קוד:

<?php

if (isset($_GET['lang']))
{
    
$lang trim($_GET['lang']);
}
elseif (isset(
$_COOKIE['lang']))
{
    
$lang trim($_COOKIE['lang']);
}
else
{
    
$lang 'he';
}

switch (
$lang)
{
    case 
'he':
        
$filename 'lang-he.php';
    break;
    case 
'en' :
        
$filename 'lang-en.php';
    break;
    default:
        
$filename 'lang-he.php';
        
$lang 'he';
    break;
}
 require_once(
"./includes/lang_$lang.php");
 
setcookie("lang",$lang,time()+time()); 

?>



תודה רבה גבר,
זה עובד נהדר.

Level-Serv 14-07-07 19:09

נעול


כל הזמנים הם GMT +2. הזמן כעת הוא 12:20.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ