Autor Zpráva
Weiron
Profil
Dobrý den,
tvořím s kamarádem webovou aplikaci pro vytváření sportovních tabulek. Každý uživatel si může vytvořit svoji tabulku. To není ale úplně důležité.

Po přihlášení do "aplikace" se uživatel po kliknutí na odkaz přesměruje do tvorby (tvorba.php). Chtěli bychom zamezit tomu, aby kdokoliv, kdo není právě přihlášen a napíše "natvrdo" (dám příklad) htttp"//www.sportovnitabulka.cz/tvorba.php nemohl vidět editaci na této stránce či ho to po zadání automaticky přesměrovalo na úvodní stránku (index.php).

Vítáme každé návrhy.

S pozdravem,
Weiron a kamarád.
Zechy
Profil
Weiron:
Po přihlášení se zpravidla uloží nějáká identifikace uživatele do $_SESSION, takže si třeba uložíš do $_SESSION["jméno"] jeho jméno a pak na tvorba.php budeš ověřovat, zda ta session existuje pomocí isset. Pokud ne, vykážeš ho na index.php.

Samozřejmě po odhlášení nesmíš zapomenout session unsetnout či zničit a na každé stránce zapínat session_start();
Yuff.3
Profil
Jednoducho by som to celé vložil do podmienky - ak som prihlásený, pokračujem na stránke ak nie presmeruje ma inam. if (iLOG) {tuna bude stránka} else {redirect("URL");} no a to LOG si treba definovať ako niečo čo je obsahuje len prihlásený užívateľ - napr. ID
Neviem či som sa vyjadril zrozumiteľne a či to pomôže, snáď áno. AK nie určite sa nájde niekto schopnejší pomôcť.
//áno toto čo napísal Zechy som chcel uviesť aj ja
lionel messi
Profil
Yuff.3:
else {redirect("URL");}
Chápem, čo si chcel napísať, ale na presmerovanie v PHP slúži funkcia header.
Weiron
Profil
Děkuji Vám všem za Vaše návrhy, nějak jsme to sesmolili. :)
Marschmallow
Profil
Weiron:
Prozradíš nám jak?
Yuff.3
Profil
lionel messi:
ďakujem - neviem prečo som v minulosti používal hento. Zase som o niečo múdrejší.
Weiron
Profil
Marschmallow:
session_start ();

$login=$_SESSION['jmeno'];
    if (!isset($_SESSION['jmeno'])){
        header('location: index.php');
    }
    else{
echo "Vítejte ".$login."<br>";
Weiron
Profil
Ještě bychom se chtěli zeptat, zdali je možné přenášet proměnnou na více stránek.

Příklad:

z "numberu" (name="pocet") z formuláře ze stránky index.php odešleme hodnoty na jinou stránku. (action="druha.php"). Ovšem na třetí stránce už nelze s touto proměnnou pomocí metody $_POST['pocet'] pracovat. Nevíte, jak tento problém vyřešit?

Veškeré návrhy jsou vítány.

S pozdravem,

Weiron a kamarád.
lionel messi
Profil
Weiron:
Ovšem na třetí stránce už nelze s touto proměnnou pomocí metody $_POST['pocet'] pracovat. Nevíte, jak tento problém vyřešit?
Na druha.php si uložiť hodnotu $_POST['pocet'] do $_SESSION['pocet'] a k tejto premennej pristupovať na ďalšej stránke (veľmi podobnou alternatívou je použitie cookies). Len nezabudnúť na použitie session_start všade, kde pracuješ so $_SESSION, prípadne zapnúť session automaticky v php.ini (to má ale isté nevýhody).
Weiron
Profil
lionel messi:
Děkujeme moc, funguje to. Jen ještě otázka, máme vypínat session na každém konci stránky nebo to není nutné a poté ho stačí na každé nové stránce zapnout pouze znovu?
lionel messi
Profil
Weiron:
Jen ještě otázka, máme vypínat session na každém konci stránky nebo to není nutné a poté ho stačí na každé nové stránce zapnout pouze znovu?
Myslím si, že to nie je nutné a neviem o tom, že by sa to bežne robilo.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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