Autor | Zpráva | ||
---|---|---|---|
B1abla Profil |
#1 · Zasláno: 12. 9. 2012, 21:08:02
Ahoj, napsla jsem si funkci (dle mých možností), která má zjistit zda je přihlášený uživatel admin či nikoli, funkce vypadá takto:
function admin1 (){ $dotaz = mysql_query("SELECT nick, admin FROM uzivatele WHERE nick = '".$_SESSION["login"]."' AND admin = 'admin'"); $vysledek = mysql_num_rows ($dotaz); if($vysledek == 0) { echo "Bohužel nemáš oprávnění"; } else echo "Ano ty oprávnění máš"; } Ty echa tam mám jen cvičně než to přestane hlásit chyby: Notice: Undefined variable: _SESSION in C:\Program Files (x86)\EasyPHP-12.0\www\my portable files\vyvoj_web\rekop\vypis_hrace_test.php on line 6 Bohužel nemáš oprávnění myslím že je problém v uvozovkách či apostrofef ale nevím kde a nejsem schopen na to přijít. děkuji |
||
Alphard Profil |
#2 · Zasláno: 12. 9. 2012, 21:16:43
Je před tím session_start()?
|
||
panther Profil |
#3 · Zasláno: 12. 9. 2012, 21:20:44
B1abla:
kromě toho, že tam nemáš session_start(), proč tohle neřešíš už při přihlašování? |
||
B1abla Profil |
#4 · Zasláno: 12. 9. 2012, 21:34:46
když napíši před funkci session_start() vypíše se další chyba :
Parse error: syntax error, unexpected 'function' (T_FUNCTION) in C:\Program Files (x86)\EasyPHP-12.0\www\my portable files\vyvoj_web\rekop\vypis_hrace_test.php on line 5 k tomu přihlášení nevím jak :-), ale máš pravdu bude to lepší, stejně potřebuji toto volání ověřit jen jednou, zkusím to do přihlášení nějak vložit. bohužel mám v php ještě chaoz :-), snad se to naučím |
||
panther Profil |
#5 · Zasláno: 12. 9. 2012, 22:27:53
B1abla:
ano, máš tam syntaktickou chybu. Dohledej si, co toto chybové hlášení značí, nebo se na ten přidaný řádek podívej znovu a pořádně. |
||
peta Profil |
#6 · Zasláno: 13. 9. 2012, 09:50:00
<?php @ini_set('error_reporting', E_ALL); @ini_set("display_errors", "on"); error_reporting(E_ALL); //chyby = on session_start(); function admin1 (){ $key = "login"; $login = isset($_SESSION[$key]) ? $_SESSION[$key] : ''; $login = mysql_real_escape_string($login); // ochrana proti utoku zmenou sql dotazu pres promennou $query = "SELECT nick, admin FROM uzivatele WHERE nick = '%s' AND admin = 'admin' LIMIT 1"; // staci, kdyz najde prvni shodu $query = sprintf($query,$login); //echo $query; //testovani sql dotaz, zakomentovano $result = mysql_query($query); if ($result) { $count = mysql_num_rows ($result); if($count == 0) { echo "Bohužel nemáš oprávnění"; } else echo "Ano ty oprávnění máš"; } // else //testovani sql dotazu, zakomentovano // { // echo mysql_error(); // die(); // } } admin1(); ?> <p>Undefined variable: _SESSION = neexistuje promenna $_SESSION ... on line 6 -> session_start() </p> <p>Parse error: syntax error, unexpected 'function' (T_FUNCTION) ... on line 5 -> mi toto nepise</p> <p>Undefined index: login ... on line X -> protoze nemam nic v session nastavene, nejsem prihlaseny</p> <p>mysql_num_rows() expects parameter 1 to be resource, boolean given ... on line X -> protoze se neprovedl sql dotaz</p> |
||
B1abla Profil |
#7 · Zasláno: 13. 9. 2012, 12:58:59
děkuji za rady, vyřešil jsem to už během přihlášení, jak mi radil "panther"
|
||
Časová prodleva: 12 let
|
0