NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: PHP - vložení hodnoty do proměnné typu SESSION

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Radek Fojtík:17.5.2016 21:36

Zdravím,
je možné nějak odkazem vložit hodnotu do proměnné typu SESSION? Chci udělat uložení vybraného jazyka, ale nevím přes co to zrealizovat. Nechci použít přenesení přes url typu www,stranka,cz?ja­zyk=cs nebo tak podobně, ale nějak "neviditelně".
Přes "form a button" a vyvoláním metodou POST to jde v pohodě, ale je to prasácké takto dělat webové tlačítka. Ale nevím jak vložit data do proměnné SESSION přes odkaz A HREF ... Máte nějaký nápad, klidně i jak to udělat jinak, jen aby nebyl vidět přenos proměných v URL adrese...
Díky moc za rady.

Editováno 17.5.2016 21:37
 
Odpovědět
17.5.2016 21:36
Avatar
Odpovídá na Radek Fojtík
Uživatel sítě :17.5.2016 21:47

Ahoj, přes pole GET kontroluješ parametry z url

if(isset($_GET['jazyk'])){
    $_SESSION['jazyk'] = $_GET['jazyk'];  //Samozřejmě musí být kontrola zda je jazyk podporován či existuje
}
Nahoru Odpovědět
17.5.2016 21:47
Chybami se člověk učí, běžte se učit jinam!
Avatar
Odpovídá na Radek Fojtík
Martin Konečný (pavelco1998):17.5.2016 21:48

nevím, jak máš řešenou architekturu aplikace, ale mělo by jít něco na tenhle způsob

<a href="zmena_jazyka.php?jazyk=cz&url=<?php echo $_SERVER["REQUEST_URI"]">CZ</a>

// zpracování
session_start();
if (isset($_GET["jazyk"])) {
        $povelene = array("cz", "en", "de");
        $jazyk = $_GET["jazyk"];
        if (in_array($jazyk, $povolene)) {
                $_SESSION["jazyk"] = $jazyk;
        }
}

$url = isset($_GET["url"]) ? $_GET["url"] : "index.php";
header("location: {$url}");
exit;
Editováno 17.5.2016 21:49
Nahoru Odpovědět
17.5.2016 21:48
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Radek Fojtík:18.5.2016 8:28

Super, zkušební tlačítko funguje, a teď upravit ostatní tlačítka, naštěstí jich není moc. Jen kvůli nastavení serveru jsem musel doplnit ob_start(); aby mě fungovalo to přesměrování.

Mockrát děkuji za radu.

 
Nahoru Odpovědět
18.5.2016 8:28
Avatar
Odpovídá na Radek Fojtík
Martin Konečný (pavelco1998):18.5.2016 10:01

Musíš veškeré modifikace řešit na začátku souboru, před jakýmkoliv výstupem (HTML apod). Pak to nebudeš muset obcházet přes ob_start() a takový :)

Nahoru Odpovědět
18.5.2016 10:01
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.