Autor Zpráva
FilipP
Profil
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"];
nefunguje.
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 *
FilipP:
echo $SESSION["pozice"];

Chybí ti tam podtržítko.
FilipP
Profil
když tam dám
echo $_SESSION["jmeno"];
(jmeno pouze na zkousku) tak to nic nevypise.
okolojdouci
Profil *
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
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
Dobrá ale nevíte čím to mám nahradit???
Rellik
Profil
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
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
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
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
DIK!!!! JÁ BLBEJ SEM U
$_SESSION["heslo"]=$heslo;
NEDAL
$_SESSION["heslo"]=$_POST["heslo"];
moc děkuji.

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