Autor | Zpráva | ||
---|---|---|---|
cont Profil * |
#1 · Zasláno: 22. 4. 2007, 16:42:26
Dobrý den :) snažim se udělat přihlášení ale přes sessions mi to nejde tak to chci zatim zprovoznit přes cookies.. ikdyž vim že sessions by byly určitě lepší. Zatim se mi heslo a login uloží do cookies, ale nevim jak si je na určité stránce vyžádat.. jednoduše uživatel už je přihlášenej, ale pokuď se chce dostat na nějakou stránku, tak aby mu ověřila heslo a jméno co má v cookies.. děkuju
cont |
||
HajekJirka Profil |
#2 · Zasláno: 22. 4. 2007, 17:13:22
if ($_COOKIE[jmeno]!="jmeno" && $_COOKIE[heslo]!="heslo") {
echo "NEpřihlášen"; } else { echo "přihlášen"; //Pokračování scriptu } Dejte to na začátek každé stránky. Script ověří zda je uživatel přihlášen či nikoliv, ale existují i jiné možnosti. |
||
cont Profil * |
#3 · Zasláno: 22. 4. 2007, 17:53:06
j diky :)
|
||
cont Profil * |
#4 · Zasláno: 22. 4. 2007, 18:43:58
můžu se ještě zeptat co má bejt
if ($_COOKIE[TADY]!="TADY" && $_COOKIE[TADY]!="a TADY") ? děkuju moc xP cont |
||
souki Profil |
#5 · Zasláno: 22. 4. 2007, 20:08:15
HajekJirka
a) většinou se ty podmínky píší obráceně b) ukládat do cookie heslo v textovém formátu je zhovadilost |
||
cont Profil * |
#6 · Zasláno: 23. 4. 2007, 16:03:47
souki: ja vim ale dík.. rád bych měl 2verze.. přes cookies i přes session
hajek: taky diky :) ale co přesně má bejt v těch závorkách ? cookies se jmenujou txtjmeno a txtheslo a formulare maj name= stejny.. takze sem to napsal stejne jako ty, akorat sem pred to dal txt ale napíše mi to dycky nepřihlášen. dík cont |
||
HajekJirka Profil |
#7 · Zasláno: 23. 4. 2007, 22:04:41
cont
Pokud se cookie jmenují txtjmeno a txtheslo, tak v závorkách má být txtjmeno a txtheslo. napíše mi to dycky nepřihlášen A máte ty cookie opravdu nastaveny? Zkontorlujte to v prohlížeči (zobrazit cookie). |
||
cont Profil * |
#8 · Zasláno: 23. 4. 2007, 22:07:29
:P kde si ve FF zobrazim cookies ? jinak.. v tech hranatejch zavorkach ma byt nazev cookies a v tech kulatejch?
cont |
||
HajekJirka Profil |
#9 · Zasláno: 23. 4. 2007, 22:17:32
cont
Ve FF nevím, ale Opera to má v nástroje, nastavení, pokročilé volby, cookies, takže v FF to bude podobné. V hranatých závorkách má být název cookie a v těch kulatých nechejte to co tam je! Mělo by to vypadat nějak takto: if ($_COOKIE[txtjmeno]!="txtjmeno" && $_COOKIE[txtheslo]!="txtheslo") { echo "NEpřihlášen"; } else { echo "přihlášen"; //Pokračování scriptu } |
||
cont Profil * |
#10 · Zasláno: 24. 4. 2007, 14:06:35
----------------------login.php----------------------
<form name="form1" method="post" action="overeni.php"> <table> <tr> <td><font color="#0099CC" face="verdana" size="2">Jméno:</font></td> <td><INPUT type="text" class="ramecek" name="txtjmeno" size="20"<br /></td> </tr> <tr> <td><font color="#0099CC" face="verdana" size="2">Heslo:</font></td> <td><INPUT type="password" class="ramecek" name="txtheslo" size="20"<br /></td> </tr> <tr> <td colspan="2"><input type="Submit" class="tlacitko" value="přihlásit se"></td> </tr> </table> </form> ----------------------overeni.php---------------------- <? setcookie('txtjmeno', '', time()); setcookie('txtheslo', '', time()); $spojení = mysql_connect("x", "x", "x"); mysql_select_db("x"); $sql = "SELECT heslo FROM uzivatele WHERE prezdivka='{$_REQUEST['txtjmeno']}'"; $výsledek = mysql_query($sql); if (!$výsledek): echo "Ověření nelze použít."; exit; endif; if(!mysql_num_rows($výsledek)): echo "Uživatel nenalezen."; exit; else: if (mysql_result($výsledek, "heslo") != $_REQUEST['txtheslo']): echo "Nesprávné heslo."; exit; else: setcookie('txtjmeno', $_REQUEST['txtjmeno'], time()+3600); setcookie('txtheslo', $_REQUEST['txtheslo'], time()+3600); endif; endif; ?> ----------------------stranka.php---------------------- <? if ($_COOKIE[txtjmeno]!="txtjmeno" && $_COOKIE[txtheslo]!="txtheslo") { echo "NEpřihlášen"; } else { echo "přihlášen"; //Pokračování scriptu } ?> a ve FF povoleny cookies mam.. |
||
HajekJirka Profil |
#11 · Zasláno: 24. 4. 2007, 16:23:48
Takto nějak jsem to používal já:
// Každá stránka session_start(); if (!isset($_SESSION['jmeno']) || !isset($_SESSION['heslo'])) { $_SESSION = array(); @session_regenerate_id(); // Ochrana před Session Fixation-vygeneruje novoe session @session_destroy(); // Zničí vąechna data registrované do session (v případě, ľe jsou registrované) // Přesměruje na adresu http://server:port.adresar/prihlaseni.php @header ('Location: http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].dirname($ _SERVER['SCRIPT_NAME']).'/prihlaseni.php'); exit; } //prihlaseni.php session_start(); if (@$_POST['jmeno']=='' || $_POST['heslo']=='') { echo '<h1>Přihláąení:</h1><h2>Zadejte uľivatelské jméno a heslo.</h2>'; } else { if (@$_POST['jmeno']=='jmeno' && $_POST['heslo']=='heslo') { $_SESSION['jmeno'] = $_POST['jmeno']; $_SESSION['heslo'] = $_POST['heslo']; header ('Location: http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].dirname($ _SERVER['SCRIPT_NAME']).'/index.php'); exit ("<h2>Probíhá přesměrování ...</h2><h3>Nebudete li přesměrování automaticky klikněte prosím na <a href='./index.php'>tento odkaz</a>.</h3></body></html>"); } else { echo "<h1>Přihláąení:</h1><h2>Chybně zadané uľivatelské jméno nebo heslo.</h2>"; } } } |
||
HajekJirka Profil |
#12 · Zasláno: 24. 4. 2007, 16:54:41 · Upravil/a: HajekJirka
Ještě zkuste toto:
[url=http://www.pecan.cz/index.php?kat_c=php-school ]http://www.pecan.cz/index.php?kat_c=php-school [/url] Popř. toto: http://www.evil666.net/soubory/login.rar |
||
cont Profil * |
#13 · Zasláno: 24. 4. 2007, 20:41:54
j díky moc už mi to funguje.. ale chtěl sem se zeptat na to
// Každá stránka session_start(); if (!isset($_SESSION['jmeno']) || !isset($_SESSION['heslo'])) { $_SESSION = array(); @session_regenerate_id(); // Ochrana před Session Fixation-vygeneruje novoe session @session_destroy(); // Zničí vąechna data registrované do session (v případě, ľe jsou registrované) // Přesměruje na adresu http://server:port.adresar/prihlaseni.php @header ('Location: http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].dirname($ _SERVER['SCRIPT_NAME']).'/prihlaseni.php'); exit; } 1)proč tam je zavináč 2)proč tam je session_destroy() to se mu pak ta session neoveri na dalsi strance ne ? |
||
HajekJirka Profil |
#14 · Zasláno: 24. 4. 2007, 22:04:19
1) Zavináč je v případě, že se vyskytne chyba (např. se nenastaví session), tak se nevypíše chybové hlášení (Warning ....)
2) Ano na další stránce se neověří protože to nebude potřeba. Session_destroy() se totiž vykoná jen v případě, že není nastaveno $_SESSION['jmeno'] nebo $_SESSION['heslo'] a to session se zruší aby to náhodou nedělalo bor... v příštím nastavení session. |
||
cont Profil * |
#15 · Zasláno: 25. 4. 2007, 18:41:09
ok díky už mi to funguje :) *jen mi nefunguje odhlasit.php mam v něm
<?php session_destroy(); session_unset(); header("Location: /"); exit; ?> žádný hlášky to neháže a přesměruje mě to na index.php ale nesmaže to sessions cont |
||
HajekJirka Profil |
#16 · Zasláno: 25. 4. 2007, 21:39:14
<?
session_start(); session_unregister("jmeno_session"); session_unregister("heslo_sesssion"); Header("Location: / ")); ?> |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0