Autor Zpráva
juricka
Profil *
Prosil bych poradit co mam zadat na stranku, ktera se smi zobrazit pouze pokud je uzivatel prihlasen.
Prihlaseni:
<?php
 session_start();
 include ("config.php");
      $jmeno = addslashes($_POST["txtjmeno"]);
      $heslo = addslashes($_POST["txtheslo"]);
      if (empty($jmeno) || empty($heslo)) {
        echo("Nezadali jste jmeno nebo heslo");
        Header("Location: index.php");
            }
      else {
       $connect = mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD); 
        mysql_select_db(SQL_DBNAME);
        $zaznam = mysql_query("SELECT admin_jmeno FROM login WHERE admin_jmeno = '" . $jmeno . "' AND admin_heslo = '" . $heslo . "'");     
        $radku = mysql_num_rows($zaznam);
       if ($radku == 1) 
             {
            echo('přihlášení úspěšné'); 
            $_SESSION['prihlaseny'] = "1";
            Header("Location: admin.php");
            }
        else {
        Header("Location: index.php");
        echo("Neplatne prihlasovaci udaje");
        }
        mysql_close($connect);
        }
    ?>

Na ostatni stranky potom vkladam tento kod:
<?php session_start(); ?>
<?php
if(!$_SESSION['prihlaseny']=="1"){
echo "Nejsi prihlaseny";
} else { echo "Si prihlaseny"; }
?>

Ale na stranku me to vpusti i kdyz nejsem prihlaseny, jak tomu zamezit?
Hugo
Profil
<?php
if(!$_SESSION['prihlaseny']=="1"){
echo "Nejsi prihlaseny";
exit;
} else { echo "Si prihlaseny"; }
?>
Majkl578
Profil
session_start();
if(!isset($_SESSION['prihlaseny'])) $_SESSION['prihlaseny'] = false;
 include ("config.php");
      $jmeno = addslashes($_POST["txtjmeno"]);
      $heslo = addslashes($_POST["txtheslo"]);
      if (empty($jmeno) || empty($heslo)) {
        echo("Nezadali jste jmeno nebo heslo");
        Header("Location: index.php");
            }
      else {
       $connect = mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD); 
        mysql_select_db(SQL_DBNAME);
        $zaznam = mysql_query("SELECT admin_jmeno FROM login WHERE admin_jmeno = '" . $jmeno . "' AND admin_heslo = '" . $heslo . "'");     
        $radku = mysql_num_rows($zaznam);
       if ($radku == 1) 
             {
            echo('přihlášení úspěšné'); 
            $_SESSION['prihlaseny'] = true;
            Header("Location: admin.php");
            }
        else {
        Header("Location: index.php");
        echo("Neplatne prihlasovaci udaje");
        }
        mysql_close($connect);
        }



if(!empty($_SESSION['prihlaseny'])){
echo "Nejsi prihlaseny";
} else { echo "Si prihlaseny"; }
juricka
Profil *
Hugo
Tvoje verze mi funguje, stranka se mi nezobrazi, kdyz nejsem prihlasen akorat mi to vypisuje chybu :
Notice: Undefined index: prihlaseny in C:\dev\www\888\admin\download.php on line 47
46. <?php
47. if(!$_SESSION['prihlaseny']=="1"){
48. echo "Nejsi prihlaseny <a href='index.php'>Přihlaš</a>";
49. exit;
} else { echo "Si prihlaseny"; }
?>
Majkl578
Profil
juricka
co treba to moje? to jsem osetril
tomasek
Profil *
Majkl578

Kdyz pouziji tvoji variantu tak se na tu stranku dostanu, i kdyz nejsem prihlaseny...
tomasek
Profil *
nevi nekdo jak to tedy osetrit bez te chyby?
Majkl578
Profil
udelal jsem chybu, zkus toto (prvni cast jako v poslednim prispevku:

if(!empty($_SESSION['prihlaseny']) && $_SESSION['prihlaseny'] === true){
  echo "Si prihlaseny";
} else {
  echo "Nejsi prihlaseny";
  exit;
}
tomasek
Profil *
Super dik to je ono

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: