Autor Zpráva
gallarax
Profil
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
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
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 '.
gallarax
Profil
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
gallarax:
Tak změníte adresu na 8. řádku.
gallarax
Profil
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
gallarax:
Výsledný kód je v [#10] od jenikakozaka
jenikkozak
Profil
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
a co mám změnit na tom 4. a 5. řádku?
jenikkozak
Profil
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
gallarax:
Mimochodem <option> je párový tag, takže to i ukončuj (</option>), je to lepší.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: