Autor Zpráva
B1abla
Profil
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
Je před tím session_start()?
panther
Profil
B1abla:
kromě toho, že tam nemáš session_start(), proč tohle neřešíš už při přihlašování?
B1abla
Profil
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
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
<?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>
Mi to nepise zadnou chybu. Mas za session_start() + strednik a tak?
B1abla
Profil
děkuji za rady, vyřešil jsem to už během přihlášení, jak mi radil "panther"

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: