Autor Zpráva
Martinovo
Profil *
Najdu nekde navod na to jak udelat:

- tuknu nekam na link
- zobrazi se stranka zadejte jmeno a heslo
- pokud dobre, tak zobrazim dalsi html stranku (pripadne s odkazama - na ty se nesmim jinak dostat, trebas tim ze je primo vypisu do adresy..), pokud ne tak nejakou jinou.

Trosicku pouzivam php, ale nevim jestli mi na to bude stacit.

D'. a pripadne se omlouvam pokud se o tom jiz psalo, ale me vyhledavaci schopnosti to nenasly.
habendorf
Profil
http://www.jakpsatweb.cz/heslo.html
Martinovo
Profil *
Uzasne sqele... :-))

BTW, kdyz dam "Ulozit jako.." tak to vzdy ulozi jenom ty radky na zadani hesla a nikoliv ten tajny text? O to se stara PHPko?
habendorf
Profil
PHP skript běží na serveru, do prohlížeče dorazí jen kód stránky. Proto se ti uloží totéž, co uvidíš, když si v prohlížeči dáš zobrazit kód.
Simka
Profil *
zkus tohle:
<?php // soubor login.php
if ($_POST["ok"]) { // kdyz se odeslal formular
if ($_POST["heslo"] == "nejakeheslo") {
session_start(); // nastartovani session
$_SESSION["prihlaseny"] = "ano"; // ulozeni session promenne
Header ("Location: dalsi_stranka.php"); //presmeruje na stranku s "tajnym obsahem"
}
else { // pokud se vyskytla nejaka chyba
echo "CHYBA. Zadal jste špatné heslo.";
}
}
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method=post>
<input type=password name=heslo>
<input type=submit name=ok value=Přihlaš>
</form>



dalsi_stranka.php:
<?php
if ($_SESSION["prihlaseny"] != "ano") { // kdyz se uzivatel pokousi obejit stranku login.php
Header("Location: login.php") // presmeruje na login.php
}
else {
?>
tady už můžeš psát zaheslovanou stránku klidně i v html
SPAM
SPAM
SPAM
OBSAH
OBSAH
<?php
} // ukonceni podminky else
?>



ale pozor, před příkazem Header() nesmíš zavolat žádnou funkci (třeba i echo) a kód před tím nesmí obsahovat ani jeden řádek html (třeba jenom prázdný řádek), jinak ti to vyhodí snad nejčastější hlášku "Headers already sent..". stránek se zaheslovaným obsahem můžeš mít samozřejmě více
Toto téma je uzamčeno. Odpověď nelze zaslat.

0