Uživatel zadá přihlašovací jméno a heslo a odešle form do příslušného php, kde se má vše ověřit a v případě že jméno a heslo je ok, tak se do asi 8 session ukládají různá data z databáze + se do jedné session vloží 1 jako že je uživatel přihlášen...
jak to asi v php je:
Kód: Vybrat vše
soubor login.php kam se odesílá form:
<?php
ob_start();
session_start(); // Budeme pracovat se session, musíme je nastartovat.
require '../inc/db.php'; //připojení do DBS
if(isset($_POST['logni'])){//pokud odeslán form pro přihlášení
.....
....//kontrola zda jméno a heslo sedí
...
if(){//pokud jmeno a heslo ok
...//načtení dat z databáze a uložení do sessions-např:
session_regenerate_id();
$_SESSION['prihlasen'] = 1;
$_SESSION['Prava'] = $Vysledek['prava'];
$_SESSION['jmeno_real'] = $Vysledek['jmeno_real'];
$_SESSION['prijmeni_real'] = $Vysledek['prijmeni_real'];
...a tak dál (jen různé názvy session...
//zde ještě zápis do DBS -do logu že proběhlo přihlášení
//a přesměrování na stranu odkud se přihlašovalo:
$strana=$_POST['strana'];
if($strana==''){
$strana="page1";
}
$bl="../index.php?page=".$strana;
header("location: $bl"); // přesměrujeme na úvodní stranu...
}else{//pokud špatné jmeno nebo heslo}
}else{pokud nebyl odeslán form pro přihlášení...}.....
ob_end_flush();//úplně na konci php
?>
už dvou lidem se stalo, že zadali jméno a heslo dobře a i do logu se zaznamenalo že se přihlásil uživatel (tedy se dostalo i na to ukládání do session, ale pak je to hodilo na stránku odkud se přihlašovali ale přihlášení nebyli (jako by se do session neuložilo nic)...
-zjednodušený příklad (nešlo to do if, ale else):
Kód: Vybrat vše
hlavní stránka:
if($_SESSION['prihlasen'] == 1){
//ukáže se neveřejné menu apod...přihlašovací form se neukáže....
}else{
ukáže se normální stránka bez neveřejného menu ale s přihlašovacím formem
}
Když smazali cache ve FF (nebo otevřeli nové okno FF), tak to prý šlo...
Co s tím? Chtěl jsem ještě zkusit zakázat cache (pragma apod...), jenže nevím jak to udělat validně v HTML5...
Děkuji...

