Autor Zpráva
Tomcat
Profil *
Nevite nekdo jak udelat viceuzivatelskou session?
Na strankach rozlisuji uzivatele a administratory. U administratoru je celkem jedno, ti maji stejne funkce, ale kazdy uzivatel ma sva data . V databazi mam ipadresu, username a id ktere jsou unikatni, a jeste tam mam atribut admin ktery nabyva hodnot 1 a 0 tj na rozliseni uzivatelu a administratoru. Podle ip adresy se rozlisuji data ktera ma uzivatel k dispozic. Problem tkvi v tom, ze nedokazu udelat session tak aby se navzajem neovlivnovaly a zaroven unikatni pro kazdeho uzivatele. Kdyz vytvorim session aby se neovlivnovala tak se dostane uzivatel prepsanim adresy na administratora a naopak takze vlastne nevytorim nic.

login2.php
session_start();
include("connection.php")
// overeni zmacknuti submit a vyplnenych polozek.
if(isset($_POST['submit'])) {
	if(empty($_POST['username']) || empty($_POST['password'])) {
		echo "Musite vyplnit vsechny polozky!!!";
	exit;}
	$username = MySQL_Real_Escape_String($_POST['username']);
	$password = MySQL_Real_Escape_String($_POST['password']);
	$query = sprintf("SELECT id, uziv_jmeno, admin, ipAdresa
			  FROM	 uzivatel
			  WHERE	 uziv_jmeno='$username' AND heslo='$password'");
        
	$result = mysql_query($query);
	
	if(1!=mysql_num_rows($result)) { 
		
		header('Location:login.php?msg=login_failed');
	} 
	else {
		// vytvori se objekt ze ziskanych dat. 
		$row = mysql_fetch_assoc($result);

		$_SESSION['member_ID'] = $row['id'];
		$_SESSION['member_JMENO'] = $row['uziv_jmeno'];
		$_SESSION['member_ROLE'] = $row['admin'];
		$carky = (str_replace(".","_",$row['ipAdresa']));
		$_SESSION['member_ip'] = $carky; //nazev souboru
		$_SESSION['member_ipAdresa']= $row['ipAdresa'];
		} 
    if($_SESSION['member_ROLE'] == 0) {
     $_SESSION['member_USER']=0;
     header('Location:user_menu.php'); 
    
    }elseif($_SESSION['member_ROLE'] == 1) {
     $_SESSION['member_ADMIN']=1;
     header('Location:admin_menu.php'); 
     
    } 

Overovani uzivatelu
<?php
session_start();

if (($_SESSION['member_USER']==0) || (isset($_SESSION['member_ID']))){
}else {
	header('Location: login.php?msg=requires_login');	
}
?>

a logout
<?php
session_start();

session_unset($_SESSION['member_ID']);
//session_destroy($_SESSION['member_ID']);


header('Location: login.php?msg=logout_complete1');

?>

session_is_registered nechci pouzit.Jestli to chapu spravne tak do globalni promenne se ulozi jenom jedna hodnota(ikdyz by to melo byt pole) protoze kdyz se mel kontrolu jenom pomoci member_ADMIN tak kdyz se prihlasil user tak vykopnul admina a opacne. Mohli by jste popsat popripade upravit muj kod tak aby rozeznaval jedinecneho uzivatele?

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:

0