« 1 2 »
Autor Zpráva
JOhny26
Profil *
Na stránkách bych chtěl udělat zaheslovaný přístup a nechce se mi dělat přihlašovací formulář na novou stránku. Nejde nějak udělat vyskakovací okno nebo něco podobnýho, abych kvůli přihlášení nedělal novou zbytečnou stránku. Díky
Casero
Profil
JOhny26
Vždy budeš muset udělat novou stránku!!!
JOhny26
Profil *
Tak sem myslel třeba jak to ma blueboard, když chceš vymazat třeba příspěvek, tak ti vyskočí okno, zadaš heslo a celej příspěvek vymažeš. Tak sem myslel něco podobnyho.
Alphard
Profil
blueboard neznám, ale
tak ti vyskočí okno
v okně se musí zobrazit nějaká stránka
pokud to není skutečné okno, ale jen simulace, tak by to mohlo být třeba pomocí AJAXu, ale nebude to jednodušší než nová stránka
Casero
Profil
JOhny26
Něco jako todle???... http://www.linuxsoft.cz/article.php?id_article=425 ale stejně je to de facto nová stránka! :D
JOhny26
Profil *
jj aspon tohle, staci to uplne v poho. Diky moc
JOhny26
Profil *
Tak už mi to funguje, jen zas teď nemůžu přijít na to, jak se odhlásit, sem tam pořád přihlášenej.
JOhny26
Profil *
Tak už sem z toho zoufalej.. nemůžu přijít pořád na to odhlášení. Nemáte někdo jiné řešení? nebo aspon njkakou menší radu?
Casero
Profil
JOhny26
Co vyprádnit proměné $_SERVER["PHP_AUTH_USER"] a $_SERVER["PHP_AUTH_PW"]?
JOhny26
Profil *
jj cetl sem clanky, ale nejak mi to nejde vyprazdnit. jde to jen kdyz vypnes prohlizec, nasel sem
unset($_SERVER["PHP_AUTH_USER"]);
unset($_SERVER["PHP_AUTH_PW"]);

ale to mi nejak nefunguje a nemuzu prijit na to proc
WanTo
Profil
Píše to nějakou chybu?
JOhny26
Profil *
ne nepíše to právě nic, všechno proběhne, ale když se chci znovu přihlásit, tak to nejde, ptz sem pořád přihlášenej. nevim co delam spatne
JOhny26
Profil *
Pro lepší ukázku Vám tu pošlu kod

Každá zaheslovaná stránka obsahuje

require "auth.php";


aut.php vypada takto


if (!IsSet($_SERVER["PHP_AUTH_USER"]))

{
Header("WWW-Authenticate: Basic realm="Hesla"");
Header("HTTP/1.0 401 Unauthorized");
echo "<p>Přístup pouze na uživatelské jméno a heslo.<br />";
echo "<a href="index.php">Zpět</a></p>";
exit;
}
else
{
if ($_SERVER["PHP_AUTH_USER"]!="franta") { echo "Neplatné přihlašovací jméno!"; exit;}
if ($_SERVER["PHP_AUTH_PW"]!="1111") { echo "Neplatné heslo!"; exit;}
}


logout.php


unset($_SERVER["PHP_AUTH_USER"]);

unset($_SERVER["PHP_AUTH_PW"]);
header("location: index.php");
exit;


Tak a teď babo raď, už to tu koumám docela dlouho a pořád netušim v čem může být chyba
tiso
Profil
JOhny26 máš session_start v logout.php?
UPDATE: asi neviem čítať, beriem späť, takže otázka vyššie je irelevantná...
JOhny26
Profil *
nemam tam nic jinyho nez sem napsal sem do tohohle clanku, kdyz tam teda neco chybi, tak pls napiste kde a co.
Alphard
Profil
AFAIK se lze odhlásit pouze zavřením prohlížeče, data z $_SERVER nelze efektivně vymazat, protože pochází od klienta (při reloadu nebo přechodu na jinou stránku je odešlou znovu)

http://interval.cz/clanky/odhlaseni-z-http-autentizace/
http://tvorba-www.bravepages.com/php/php/azphp640.htm
loyza
Profil
Tak tak odhlášení se provede pouze zavřením prohlížeče. A tuším, že to má tu negativní vlastnost, že pokud se člověk netrefí napoprvé a zadá špatný jméno nebo heslo, tak musí zavřít všechna okna prohlížeče a pak to teprve může zkoušet znovu. Protože prohlížeč mu nedovolí znova zadat správné jméno a znovu odesílá to špatné.
Viz tato ukázka na linuxsoftu.
Jakub Kulhan
Profil *
další možnost je to dělat pomocí session.
na začátek dáš:


//nastartovani session
session_start();
//odhlaseni
if($_GET["odhlasit"]){
foreach($_SESSION as $nazev=>$hodnota){
session_unregister($_SESSION[$nazev]);
}
}
//tady bude jiz to, co bude na strance
if(!(session_is_registered("prihlasen") and $_SESSION["uziv"]=="<jméno uzivatele>" and $_SESSION["heslo"]=="<heslo uzivatele>")){ //pokud jeste neni uzivatel prihlasen
if(!empty($_POST)){ //pokud se odesilalo a ma se prihlasovat
//tady bude vytvoreni session, kdyz se odeslal formular a presmerovani na tu samou stranku
//musi tu byt samozrejme overeni, jestli uzivatelske jmeno a heslo odpovida
}else{ //pokud se jeste neodesilalo a ma se zobrazit jen formular
//zde bude formular pro prihlaseni
}
}else{ //pokud je uzivatel prihlasen
//a tady samotny obsah stranky jen s heslem
//pro odhlaseni by mel byt na strance nejaky odkaz na tu samou s query_stringem, co bude mit odhlasit=1
}


promiňte, že píšu v kódu bez dk, ale jsem na to tak již zvyklý
Nitra
Profil *
ja by som chcel vedet ze ked robim zaheslovany pristup a mam aj prihlasovaci formular a tam som dal action login.php a aky ma byť skript v tom login.php ?
Nitra
Profil *
a mam cestinu na stranke
Nitra
Profil *
a dal som tam funkcie jmeno a heslo
Jakub Kulhan
Profil *
ja by som chcel vedet ze ked robim zaheslovany pristup a mam aj prihlasovaci formular a tam som dal action login.php a aky ma byť skript v tom login.php ?
moc jsem ti neporozumněl.

skript, který jsem napsal zhušťujě příhlášení, odhlášení i samotný zakódovaný obsah na jedinou stránku a pomocí podmínek se rozhodne, co udělat
Nitra
Profil *
mne ten kod nefungoval newiem preco
Jakub Kulhan
Profil *
mne ten kod nefungoval newiem preco
vložil místo těch poznámek, kde co bude, to co tam ma být?
Nitra
Profil *
hups...a co je session?
Nitra
Profil *
prosim ta posli mi cely kod na stranku lebo ja to musim videt ako to bude vyzerat aby som to pochopil ze co kde...tu je odkaz na moju stranku tam si pls pozri moj zdrojovy kod a hod mi tam maznazera Nitra a heslo hkmnr a nevsimaj si design ani nic ja tam este len robim skusky...prosiiiiiiiiiim lebo strasne by sa mi to zislo
tiso
Profil
Nitra - založ si vlastné vlákno diskusie!
Nitra
Profil *
preco mi vzdy vyhodi toto Parse error: parse error in /3w/borec.cz/f/footballmanager/index.php on line 101
tiso
Profil
Nitra - založ si vlastné vlákno diskusie!
JOhny26
Profil *
Dobře, ale vraťme se k jádru problému, původně jsem potřeboval přístup na zaheslovanou stránku pomocí vyskakovacího okna pro jmeno a heslo. Tady za pomoci vašich odpovědí sem získal tip na $_SERVER["PHP_AUTH_USER"], ale zjistil jsem, že nevýhoda je v odhlášení. Druhý způsob byl vyřešit přístup pomocí $_SESSION. Když ale toto použiji a budu se chtít přihlásit, tak musim vytvořit zvlášť stránku s formulářem pro přihlášení a to mi připadá zcela zbytečné. Má tedy ještě někdo nějaký jiný nápad nebo se budu muset smířit s tím co mám??
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.