Autor | Zpráva | ||
---|---|---|---|
FilipP Profil |
#1 · Zasláno: 26. 10. 2011, 16:57:07
Ahoj, mám problém.
v login.php mám ověření uživatelů z mysql a pak zápis do session: ... session_register("jmeno"); $_SESSION["jmeno"]=$jmeno; session_register("heslo"); $_SESSION["heslo"]=$heslo; ...ověření oprávnění (mysql) $_SESSION["pozice"]=$pozice; a v admin.php bych rád ověřil jaká má práva např: 1,2 ,3... ale k tomu bych chtěl použít výpis ze sesion a echo $SESSION["pozice"]; Jinak normálně pro ověření používám: session_start(); $login=false; if(session_is_registered("jmeno") && session_is_registered("heslo")) { $login=true; } Děkuji za odpověď. |
||
okolojdouci Profil * |
#2 · Zasláno: 26. 10. 2011, 17:05:28
FilipP:
„echo $SESSION["pozice"];“ Chybí ti tam podtržítko. |
||
FilipP Profil |
#3 · Zasláno: 26. 10. 2011, 17:13:08
když tam dám
echo $_SESSION["jmeno"]; |
||
okolojdouci Profil * |
#4 · Zasláno: 26. 10. 2011, 17:21:34
FilipP:
„(jmeno pouze na zkousku) tak to nic nevypise.“ Píšeš tady toho málo na to, aby se dala najít chyba. Z toho, cos napsal, vyplývá, že do $_SESSION["jmeno"] vkládáš obsah proměnné $jmeno. Co je v tu chvíli v ní, nebo co se s tou session děje mezi tím $_SESSION["jmeno"]=$jmeno; a echem, to víš jen ty. |
||
Rellik Profil |
#5 · Zasláno: 26. 10. 2011, 17:22:15 · Upravil/a: Rellik
FilipP:
„session_is_registered session_register“ používáš trochu zastaralé pracování se session. http://cz.php.net/function.session_is_registered http://cz2.php.net/function.session_register This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged. Tato funkce se již nepoužívá v PHP 5.3.0. Spoléhat se na tuto funkci se důrazně nedoporučuje. Může to být zdroj problému... |
||
FilipP Profil |
#6 · Zasláno: 26. 10. 2011, 17:29:07
Dobrá ale nevíte čím to mám nahradit???
|
||
Rellik Profil |
#7 · Zasláno: 26. 10. 2011, 17:36:22
Na zápis session stačí např:
$_SESSION['neco'] = $neco; na kontrolu: if($_SESSION['neco'] AND $_SESSION['neco_jineho']) {... echo je zase to samé... echo $_SESSION['neco']; Jinak na začátku stránky musí být session nastartovaná což máš. session_start(); |
||
FilipP Profil |
#8 · Zasláno: 26. 10. 2011, 17:52:13
Zápis:
$_SESSION["jmeno"]=$jmeno; $_SESSION["heslo"]=$heslo; Kontrola: session_start(); $login=false; if($_SESSION["jmeno"] and $_SESSION["heslo"]) { $login=true; } Výpis: echo $_SESSION["jmeno"]; Předtím mi to ještě zkontrolovalo ale teď už nic. Používám XAMPP 1.7.7 |
||
Rellik Profil |
#9 · Zasláno: 26. 10. 2011, 17:56:25 · Upravil/a: Rellik
FilipP:
„Používám XAMPP 1.7.7“ A jaká je tam verze php? phpinfo(); zkus to trochu změnit na: if(isset($_SESSION["jmeno"]) and isset($_SESSION["heslo"])) |
||
Rellik Profil |
#10 · Zasláno: 26. 10. 2011, 18:05:54 · Upravil/a: Rellik
vytvořil sem ti jednoduchou stránku se session pro ukázku:
<?php session_start();?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> <body> <a href="session.php?jmeno=alfa">Nastavené jméno</a><br /> <a href="session.php?heslo=beta">Nastavené heslo</a><br /> <a href="session.php?jmeno=alfa&heslo=beta">Nastavené obojí</a><br /> <a href="session.php?sesion=destroy">Prázdné</a><br /><br /> <?php $_SESSION["jmeno"]= $_GET['jmeno']; $_SESSION["heslo"]= $_GET['heslo']; $login=false; if($_SESSION["jmeno"] and $_SESSION["heslo"]) { $login=true; echo "Obě hodnoty vyplněny<br />"; } echo "jmeno: ".$_SESSION["jmeno"]; echo "<br />Heslo: ".$_SESSION["heslo"]; if($_GET['session'] == "destroy") { session_destroy(); } ?> </body> </html> pojmenuj si ji session.php a vyzkoušej. |
||
FilipP Profil |
#11 · Zasláno: 26. 10. 2011, 18:53:45
DIK!!!! JÁ BLBEJ SEM U
$_SESSION["heslo"]=$heslo; $_SESSION["heslo"]=$_POST["heslo"]; |
||
Časová prodleva: 12 let
|
0