Autor | Zpráva | ||
---|---|---|---|
soucekgns Profil |
#1 · Zasláno: 22. 1. 2011, 12:59:10
Mám přihlašovací formulář ve kterém je $_POST['username'].
Potřeboval bych, aby při if (!$need_login) se mi to "uložilo" jako proměnná, ale jen když se bude rovnat !$need_login Zkoušel jsem $_SESSION, ale to mi nefungovalo... Díky za rady |
||
AM_ Profil |
#2 · Zasláno: 22. 1. 2011, 14:05:15 · Upravil/a: AM_
měl byses naučit jasněji vyjadřovat.
soucekgns: > aby při if (!$need_login)(1) se mi to(2) "uložilo" jako proměnná(3), ale jen když se bude rovnat !$need_login(4) > Zkoušel jsem $_SESSION, ale to mi nefungovalo...(5) 1) při if(!$need_login)? jak? jako pokud je splněná tato podmínka? a jak to tím pádem souvisí s dotazem - napsat podmínku umíš, a jak s tím souvisí, co je v ní? 2) co uložilo? 3) a $_POST['username'] proměnná není? 4) co se bude rovnat? 5) $_SESSION funguje, úspěšně několik let používám |
||
soucekgns Profil |
#3 · Zasláno: 22. 1. 2011, 15:10:04
AM:
3) je, ale jen při odeslání, já bych to potřeboval pořád 5) $_SESSION funguje, ale já to asi neumím napsat... Prostě a jednoduše, nemohl by mi někdo poradit, jak mám napsat $_SESSION pro $_POST['username'] - to jest, aby $username existovala po $_POST['username'] neustále. Díky |
||
pcmanik Profil |
#4 · Zasláno: 22. 1. 2011, 17:58:48 · Upravil/a: pcmanik
$_SESSION['username'] = $_POST['username']; predtym nez to budes pouzivat, nezabudni dat session_start(); |
||
soucekgns Profil |
#5 · Zasláno: 22. 1. 2011, 18:07:28
pcmanik:
To mi nefungovalo, dal jsem tam session_register('username'); a hned lepší:-) ale teď nevím, jak mám $_SESSION['username'] zníčit... zkoušel jsem unset ($_SESSION['username'], session_destroy('username') i unregister a nic... |
||
pcmanik Profil |
#6 · Zasláno: 22. 1. 2011, 18:14:30 · Upravil/a: pcmanik
session register je DEPRECATED co znamena ze sa nema pouzivat.
Na znicenie vsetkych session ti staci session_destroy(); Popripade kazdu zvlast daj unset unset($_SESSION['username']); soucekgns: To mi nefungovalo Jak nefungovalo, aku chybu to pisalo? |
||
AM_ Profil |
#7 · Zasláno: 22. 1. 2011, 18:43:53
[#3] soucekgns
děkuji za "upřesnění" dvou dotazů. Živá ukázka a upřesnění zbylých tří by neškodilo. Než se pustíš do takovýchto věcí, měl bys někde lépe nastudovat princip samotného PHP a zpracování jedné stránky - z dotazů je patrné, že o tom mnoho nevíš a už buduješ složité věci. |
||
soucekgns Profil |
#8 · Zasláno: 22. 1. 2011, 19:44:06
Celý problém, na kterém dělám celý den je:
Když mám toto, tak se mi když přepnu na jinou stránku $_SESSION nesmaže (to chci), ale nesmaže se mi ani při odhlášení tedy if ($need_login)(to nechci): <?php if (!$need_login) { session_start(); $_SESSION['username']=$username; } else { unset($_SESSION['username']); } ?> Ale když to napíšu takhle, tak se mi při odhlášení $_SESSION smaže (to chci), ale smaže se i když přepnu na jinou stránku se stejným kódem (to nechci): <?php if (!$need_login) { session_start(); $_SESSION['username']=$username; } unset($_SESSION['username']); ?> Takže to budu muset poladit... Sice s php neumím... já neumím s níčím, ale to jsme si trochu nerozuměli:-) Díky |
||
pcmanik Profil |
#9 · Zasláno: 22. 1. 2011, 19:50:52
v tom else musis tiez pouzit session_start, pouzi trocha logicke myslenie...
|
||
xmark Profil |
#10 · Zasláno: 22. 1. 2011, 19:55:04
soucekgns:
Co je v proměnné $need_login? Máš zmatek v tom, co má kdy proběhnout. Potřebuješ ošetřit tyto stavy: 1. session neexistuje - nabízíš zřejmě nějaký omezený obsah a mj. formulář pro přihlášení 2. session existuje - nabízíš kompletní obsah a mj. formulář pro odhlášení (resp. stačí odkaz) 3. byl odeslán formulář pro přihlášení a zpracováváš ho (vytváříš session a přesměrováváš na 2) 4. byl odeslán formulář pro odhlášení a zpracováváš ho (mažeš session a přesměrováváš na 1) |
||
soucekgns Profil |
#11 · Zasláno: 22. 1. 2011, 19:58:51 · Upravil/a: soucekgns
Tak s toho se po*eru...
Celý odpoledne tady nad tím přemýšlím co tam mám špatně... no a ono je to session_start();... Pak ze neumim php... spis jsem natvrdlej..:-) Díky moc... jdu se zastřelit... xmark: ...díky, ale už jsem to vyřešil, mimochodem takhle jsem to měl od začátku, ale jen bez session_start()... |
||
AM_ Profil |
#12 · Zasláno: 22. 1. 2011, 20:20:24
session_start() dávej vždy na úplný začátek skriptu, žádné do if ani else. To bys v tom měl za chvíli hrozný hokej.
Máš to nějaké divné, při každém načtení takové stránky tu session proměnnou buď inicializuješ nebo rušíš, neznám celý kód, ale myslím, že to máš špatně vymyšlené (ikdyž ti to už třeba náhodou funguje). |
||
soucekgns Profil |
#13 · Zasláno: 23. 1. 2011, 13:14:49
AM:
...nezruším, protože při prohlížení webu jsi pořád $need_login = nepřihlášený nebo po přihlášení jsi pořád !$need_login = přihlášený, tak proměnnou inicializuji nebo ruším jen při přihlášení nebo odhlášení... |
||
AM_ Profil |
#14 · Zasláno: 23. 1. 2011, 16:33:39
[#13] soucekgns
jako trvale existující proměnnou používej $_SESSION['username']. Proměnná $need_login se samozřejmě zruší, pokud ne, tak to znamená, že máš zapnuté a využíváš register_globals a asi i session_register, což jsou všechno deprecated vykopávky. |
||
Časová prodleva: 14 let
|
0