Autor | Zpráva | ||
---|---|---|---|
gallarax Profil |
#1 · Zasláno: 26. 2. 2011, 15:19:56 · Upravil/a: gallarax
Dobrý den jsem začátečník s psaním stránek a nevím jak udělat stránku, která by byla ve více jazycích.
Dlouho jsem přemýšlel jak to udělat a napadlo mě vytvořit jednu stránku v Češtině, druhou v Angličtině atd. Ale když jsem chtěl, aby si návštěvníci mohli vybrat v jakém jazyce to chtějí, tak jsem na stránku dal: <select name="platforma" size="1"> <option value="czech">Česky <option value="english">English <option value="deutsch">Deutsch </select> <input type="submit" value="Změnit"> Ale nevím jak udělat, aby po vybrání jazyka a kliknutím na "Změnit" to přesměrovalo toho návštěvníka na tu druhou stránku, která je v cizím jazyce. Pomocí Odkazu to mě nechce fungovat. Vytvořeno pomocí tabulky na http://www.jakpsatweb.cz/formulare-html.html |
||
jenikkozak Profil |
#2 · Zasláno: 26. 2. 2011, 17:43:48
Vzpomínám si, že tohle jsem jednou tak trochu řešil: dotyčné vlákno.
Pomocí odkazu by to mělo fungovat také. Stačí jen správně napsat adresu, kterou však musíte správně uvést i v optionu (či její část), takže v tomto si nepomůžete. |
||
Chro Profil |
#3 · Zasláno: 26. 2. 2011, 18:06:21
gallarax:
Co třeba takto, příklad kódu pro stránku www.mojedomena.cz/index.php (ale může se vyskytovat v kterékoli stránce): <?php if (isset($_GET['zmenit_jazyk'])) { if ($_GET['platforma'] == 'czech' || $_GET['platforma'] == 'english' || $_GET['platforma'] == 'deutsch') { $platforma = '/'.$_GET['platforma'].'/index.php'; $platforma = str_replace('czech/', '', $platforma); header('Location: http://www.mojedomena.cz'.$platforma); exit(); } } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Language" content="cs"> <title>Moje stránka česky</title> </head> <body> <form method="get"> <select name="platforma" size="1"> <option value="czech" selected>Česky <option value="english">English <option value="deutsch">Deutsch </select> <input type="submit" name="zmenit_jazyk" value="Změnit"> </form> </body> </html> Kód předpokládá jazykové mutace na stránkách www.mojedomena.cz/index.php => česky www.mojedomena.cz/english/index.php => anglicky www.mojedomena.cz/deutsch/index.php => německy Místo přípon souborů .html používej .php, protože se už pohybujeme v oblasti zpracování HTML stránek jazykem PHP. Dej si pozor v kódu na to, kde jsou uvozovky " a kde apostrofy '. |
||
Časová prodleva: 28 dní
|
|||
gallarax Profil |
#4 · Zasláno: 26. 3. 2011, 17:15:16
A kdybych chtěl aby se takto dalo přesměrovat na jinou stránku, ale na takovou která by měla jiný název než ta moje???
|
||
jenikkozak Profil |
#5 · Zasláno: 26. 3. 2011, 17:18:36
gallarax:
Tak změníte adresu na 8. řádku. |
||
gallarax Profil |
#6 · Zasláno: 26. 3. 2011, 17:47:32
Ale já mám 1. stránku s 1. názvem(v češtině) a potom mám 2. stránku s 2.názvem(např.v Angličtině).
A já chci aby ta 1.stránka odkazovala pomocí tohoto na tu 2. stránku. Ta druhá stránka má jiný název než ta první. Jak to udělat aby na sebe pomocí toho co jsem psal nahoře odkazovala? |
||
TomasJ Profil |
#7 · Zasláno: 26. 3. 2011, 17:56:11 · Upravil/a: TomasJ
gallarax:
Výsledný kód je v [#10] od jenikakozaka |
||
jenikkozak Profil |
#8 · Zasláno: 26. 3. 2011, 17:58:10 · Upravil/a: jenikkozak
TomasJ:
A taky je potřeba změnit 4. a 5. řádek, neboť změní-li se hodnota selectu, podmínka nebude vyhovovat. Na čtvrtý řádek by stačilo napsat: if(isset($_GET["platforma"])) 2., 3. a 10. řádek bych odstranil, nemají důvod své existence, způsobí nefunkčnost v případě, že v IE bude formulář odeslán Enterem. |
||
gallarax Profil |
#9 · Zasláno: 26. 3. 2011, 18:01:14
a co mám změnit na tom 4. a 5. řádku?
|
||
jenikkozak Profil |
#10 · Zasláno: 26. 3. 2011, 18:03:54 · Upravil/a: jenikkozak
gallarax:
Shrnuto: Prvních 12 řádků výše uvedeného kódu bych nahradil tímto: <?php if(isset($_GET["platforma"])){ header("Location: ".$_GET["platforma"]); } ?> |
||
TomasJ Profil |
#11 · Zasláno: 26. 3. 2011, 18:38:23 · Upravil/a: TomasJ
gallarax:
Mimochodem <option> je párový tag, takže to i ukončuj (</option>), je to lepší. |
||
Časová prodleva: 13 let
|
0