phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

FAQFAQ - PIERWSZA POMOC!!  regulaminREGULAMIN  SzukajSZUKAJ  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj  DownloadDownload  katalog Forów DyskusyjnychKatalog Forów   FAQ Video tutoriale

Poprzedni temat «» Następny temat
PHP i replace dla języków
Autor Wiadomość
Radek



Pomógł: 955 razy
Posty: 4614
Wysłany: 22-04-2008, 13:20   

A nie lepiej tego w cookies trzymać? :D
 
     
Gadatliwa Kasia 

   
WoGuziczek

Posty: 60
Wysłany: 22-04-2008, 14:06   

Widmo napisał/a:
WoGuziczek, poniewaz $_SESSION przechowywane jest przez serwer, a wczesniej wyfiltrowaliśmy już zmienne i nie ma mozliwości ataku, możesz zrobić tak:

Kod:
<?php include 'language/lang_' . $_SESSION['lang'] . '.php'; ?>


OK! W takim razie nazwy plików to:
    lang_pl.php
    lang_eng.php
    lang_ger.php


? :)

[ Dodano: 22-04-2008, 14:07 ]
RuseK, a jak to w cookies trzymać?
Skrypt pls ;)

[ Dodano: 22-04-2008, 14:17 ]
Niestety mam błąd...
Tak wygląda mój plik testowy index.php:

Kod:
<?php

// otwieramy sesję
session_start();

// pobieramy ustawienie z GET i zapisujemy w sesji nasz jezyk
if( isset( $_GET['lang'] ) )
{
        switch( $_GET['lang'] )
        {
            case: 'pl'
                $_SESSION['lang'] = 'pl';
            break;
           
            case: 'en'
                $_SESSION['lang'] = 'en';
            break;
           
            case: 'de'
                $_SESSION['lang'] = 'de';
            break;
        }
}

// wybieramy domyślny język
if( $_SESSION['lang'] == '' )
{
    $_SESSION['lang'] = 'pl';
}

// dobieramy odpowiednie pliki ze zmiennymi językowymi
include 'lang/lang_' . $_SESSION['lang'] . '.php';

// wyświetlamy
echo 'Twój jezyk to: <b>' . $_SESSION['lang'] . '</b>;

?>


ERROR:
Kod:
Parse error: syntax error, unexpected ':' in /home/wog/domains/zobaczip.info/public_html/2/index.php on line 11
 
     
Radek



Pomógł: 955 razy
Posty: 4614
Wysłany: 22-04-2008, 14:48   

index.php
Kod:
<?php

// otwieramy sesję
session_start();

// pobieramy ustawienie z GET i zapisujemy w sesji nasz jezyk
if( isset( $_GET['lang'] ) )
{
        switch( $_GET['lang'] )
        {
            case 'pl':
                $_SESSION['lang'] = 'pl';
            break;
           
            case 'en':
                $_SESSION['lang'] = 'en';
            break;
           
            case 'de':
                $_SESSION['lang'] = 'de';
            break;
        }
}

// wybieramy domyślny język
if( $_SESSION['lang'] == '' )
{
    $_SESSION['lang'] = 'pl';
}

// dobieramy odpowiednie pliki ze zmiennymi językowymi
include 'lang/lang_' . $_SESSION['lang'] . '.php';

// wyświetlamy
echo 'Twój jezyk to: <b>' . $_SESSION['lang'] . '</b>;

?>

pliki nazywasz
lang_pl.php
lang_en.php
lang_de.php
 
     
WoGuziczek

Posty: 60
Wysłany: 22-04-2008, 15:12   

Kod:
Warning: Unexpected character in input: ''' (ASCII=39) state=1 in /home/wog/domains/zobaczip.info/public_html/2/index.php on line 35

Parse error: syntax error, unexpected '<' in /home/wog/domains/zobaczip.info/public_html/2/index.php on line 35


:(
 
     
Radek



Pomógł: 955 razy
Posty: 4614
Wysłany: 22-04-2008, 15:20   

Kod:
echo 'Twój jezyk to: <b>' . $_SESSION['lang'] . '</b>;

zamien na:
Kod:
echo 'Twój jezyk to: <b>' . $_SESSION['lang'] . '</b>';
 
     
WoGuziczek

Posty: 60
Wysłany: 22-04-2008, 15:36   

DZIAŁA!

I tak powinno być ;)
Dzisiaj jeszcze będę testował dokładniej, także jak coś - dam znać w temacie.
 
     
Widmo



Pomógł: 180 razy
Posty: 2435
Wysłany: 23-04-2008, 00:04   

RuseK napisał/a:
A nie lepiej tego w cookies trzymać? :D


moszna :D

mozna z cookiesa do sesji kopiowac jak jest jak nie to z sesji do cookiesa.

WoGuziczek, zainstaluj sobie pajaczka, bo jak bedziesz mial kolorowanie skladni to szybciej bledy znajdziesz.

Rusek, OK :)
_________________
Potrzebujesz pomocy?
 
     
WoGuziczek

Posty: 60
Wysłany: 23-04-2008, 16:39   

Witam!

Oto mój plik testowy index.php
Kod:
<?php

// otwieramy sesję
session_start();

// pobieramy ustawienie z GET i zapisujemy w sesji nasz jezyk
if( isset( $_GET['lang'] ) )
{
        switch( $_GET['lang'] )
        { 
            case 'en':
                $_SESSION['lang'] = 'en';
            break;
           
            case 'de':
                $_SESSION['lang'] = 'de';
            break;
            case 'pl':
                $_SESSION['lang'] = 'pl';
            break;
        }
}

// wybieramy domyślny język
if( $_SESSION['lang'] == '' )
{
    $_SESSION['lang'] = 'pl';
}

// dobieramy odpowiednie pliki ze zmiennymi językowymi
include 'lang/lang_' . $_SESSION['lang'] . '.php';

// wyświetlamy zmienną językową z sesji
echo 'Twoja zmienna językowa: <b>' . $_SESSION['lang'] . '<br><br></b>';

//poładniamy nazwy języka
echo 'Twój język to: ';
if ( $_SESSION['lang'] == 'en' )
{
    print '<b>English</b>';
}
elseif ( $_SESSION['lang'] == 'de' )
{
    print '<b>Deutsch</b>';
}
else
{
    print '<b>Polski</b>';
}

echo '<br><br>';

//wybieramy język manualnie [skrypt wykonujący]
echo '<script type="text/javascript">
function lang_change(url)
{ location = url; }
</script>';

//wyświetlamy listę języków i wybieramy język manualnie
echo '<select onChange="lang_change(this.value);">';
if ( $_SESSION['lang'] == 'en' )
{
    echo '<option value="?lang=en">English (EN)</option>
          <option value="?lang=de">Deutsch (DE)</option>
          <option value="?lang=pl">Polski (PL)</option></select>';
}
elseif ( $_SESSION['lang'] == 'de' )
{
    echo '<option value="?lang=de">Deutsch (DE)</option>
          <option value="?lang=en">English (EN)</option>
          <option value="?lang=pl">Polski (PL)</option></select>';
}
else
{
    echo '<option value="?lang=pl">Polski (PL)</option>
          <option value="?lang=de">Deutsch (DE)</option>
          <option value="?lang=en">English (EN)</option></select>';
}

echo '<br><br>';
echo '<center><font color="red" size="4">$page_name</font></center>';


Niestety mam taki problem, że skrypt nie wyświetla mi prawidłowo zmiennych.
Wpisując na środku strony $page_name na stronie wyświetla się dokładnie $page_name zamiast tego co mam w zmiennej w pliku:

lang/lang_pl.php

Kod:
<?php

$page_name = 'zobaczIP.info';

?>


O co kaman :?: :)
 
     
adam.exe


Pomógł: 11 razy
Posty: 105
Wysłany: 23-04-2008, 17:26   

Zmień cudzysłów z ' na " tam gdzie masz tę zmienną.

Kod:

$lang =en;
echo'$lang';

wyswietli $lang, ale:
Kod:

$lang =en;
echo"$lang";

wyświetli en
 
     
gaku


Pomógł: 109 razy
Posty: 1095
Wysłany: 23-04-2008, 17:59   

Kod:
echo '<center><font color="red" size="4">'.$page_name.'</font></center>';
_________________
Pisanie do mnie na gg w sprawie forum mocno nie wskazane
<Cvbge> A szkolisz sie na jakiego informatyka?
http://webmastera.republika.pl/
<QSi> na zajebistego
 
     
WoGuziczek

Posty: 60
Wysłany: 23-04-2008, 18:13   

ani pierwszy, ani drugi sposób nie działa :(

może ktoś skrypcik uruchomi, hm?
 
     
gaku


Pomógł: 109 razy
Posty: 1095
Wysłany: 23-04-2008, 18:32   

Kod:
echo "<center><font color=\"red\" size=\"4\">".$page_name."</font></center>";
To już musi działać
_________________
Pisanie do mnie na gg w sprawie forum mocno nie wskazane
<Cvbge> A szkolisz sie na jakiego informatyka?
http://webmastera.republika.pl/
<QSi> na zajebistego
 
     
WoGuziczek

Posty: 60
Wysłany: 23-04-2008, 18:50   

Zrobiłem tak:

Kod:
echo "<center><font color='red' size='4'>$page_name</font></center>";


i złapał :P
 
     
Widmo



Pomógł: 180 razy
Posty: 2435
Wysłany: 23-04-2008, 23:16   

ale tak jest nie ladnie ;(

Kod:
echo '<center><font color="red" size="4">'. $page_name  . '</font></center>';


tak musi byc i MUSI dzialac.
_________________
Potrzebujesz pomocy?
 
     
Gadatliwa Kasia 

   
WoGuziczek

Posty: 60
Wysłany: 24-04-2008, 14:54   

OK!

A teraz chciałem zapytać jak z kodowaniem zrobić?
W indexie mam:
Kod:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="pl">


w plikach językowych tylko zmienne z wartościami (polskie znaki są)
i na stronie nie wyświetla polskich znaków.

Jak rozwiązać ten problem?

[ Dodano: 24-04-2008, 14:58 ]
Po ustawieniu na stronie kodowania iso8859-2, a w plikach językowych polskie znaki zastąpiłem odpowiednikami np. ą > ± to wtedy już działa. Mimo wszystko chciałbym wiedzieć jak rozwiązać ten problem na unicode utf8.

Mogę jeszcze zrobić tak, że w plikach językowych dać polskie znaki, i dorzucić skrypt zamieniający np.
Kod:

array(
            'ą' => '&#177;', 
            'Ą' => 'ˇ', 
            'ż' => 'ż', 
            'Ż' => 'Ż', 
            'ź' => 'Ľ', 
            'Ź' => '&#172;', 
            'ę' => 'ę', 
            'Ę' => 'Ę', 
            'ć' => 'ć', 
            'Ć' => 'Ć', 
            'ś' => '&#182;', 
            'Ś' => '&#166;', 
            'ł' => 'ł', 
            'Ł' => 'Ł', 
            'ó' => 'ó', 
            'Ó' => 'Ó', 
            'ń' => 'ń', 
            'Ń' => 'Ń' 
            );


I niestety to nie działa, bo teraz zamiast polskich znaków - pojawiają się krzaczkii ;/
Co jest?

w znacznikach code niektóre znaki iso8859-2 straciły wygląd i są oznakowane przez te np. #8518 bla bla :P

[ Dodano: 24-04-2008, 18:49 ]
A i mam jeszcze takie pytanie, bo mam link do zmiany linku
Kod:
<a href="?lang=pl">Zmien na polski</a>


Załóżmy, że mam otwartą stronę index.php?url=podstrona
i jak kliknę zmianę języka to mi wbija samo index.php?lang=pl.

Co mogę zrobić, żeby mi dodawał to do obecnej zawartości get, a nie zastąpywał?
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!

Powered by phpBB modified by Przemo © 2003 phpBB
Strona wygenerowana w 0,13 sekundy. Zapytań do SQL: 12
Polecane serwisy

Najlepsze oprogramowanie do prowadzenia sklepu internetowegoNajlepszy program do sklepu firmowany przez Przem'a

Sklep z gadżetami

serwis laptopów

phpbb

Design Cart - Tworzenie sklepu internetowego

iRonin.IT

• Zamów reklamę