Witam mam problem prawdopodobnie z sesją poniżej jest skrypt, który pobiera dane z formularza, kiedy loguje się pacjent jest wszystko ok, wykonuje się metoda logowanie_pacjenta, ale kiedy ten warunek nie jest spełniony i przechodzi do instrukcji elseif to koniec nic niema w zmiennych, i zawsze przechodzi do ostatniej instrukcji else. Odwracałem kolejnośc wtedy wykonywała sie metoda logowanie_admin. W dalszej części posta umiściłem klasy które biorą w tym udział.
Mam pytanie gdzie umieścić zmienną sesyjną żeby wszystko chodziło?, ja umieściłem ją w klasie html, ale to nic nie daje, umieszczałem też session_start()
w metodzie logowanie_pacjenta i logowanie_admin i to samo.
<?
require "classes.php5";
$html=new html;
$pacjent= new pacjent;
$admin=new admin;
$komunikat=new komunikat;
if(!isset($_SESSION['prawid_uzyt']) && !isset($_SESSION['admin'])) {
$nazwisko=$_POST['nazwisko'];
$Pesel=$_POST['Pesel'];
if($pacjent->logowanie_pacjenta($nazwisko, $Pesel))
$_SESSION['prawid_uzyt'] = $nazwisko;
elseif($admin->logowanie_admin($nazwisko, $Pesel))
$_SESSION['admin'] = $nazwisko;
else
{
$html->naglowek('Problem:');
$html->ramka();
$html->logowanie();
$komunikat->komunikaty('Błędny Login lub Hasło <br/> prosze spróbować ponownie lub skontaktować się z przychodniś');
}
}
?>
<?
class baza
{
private $host;
private $user;
private $pass;
private $db;
public function __construct()
{
require_once "config.php";
$this->host=$db_host;
$this->user=$db_user;
$this->pass=$db_pass;
$this->db=$db_db;
}
public function loncz()
{
if (!$wynik)
return false;
return false;
return $wynik;
}
}
class html
{
public function __construct()
{
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=pl-utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" >
</head>
<body>
<?
}
public function __destruct()
{
?>
</body>
</html>
<?
}
}
class admin
{
public $Pesel;
public $nazwisko;
public function logowanie_admin($nazwisko,$Pesel)
{
$this->Pesel=$Pesel;
$this->nazwisko=$nazwisko;
$baza=new baza;
$loncz=$baza->loncz();
if (!$loncz)
return false;
$wynik =mysql_query("select * from admin where Nazwisko='$this->nazwisko' and Haslo='$this->Pesel';"); if (!$wynik)
return false;
return true;
else
return false;
}
}
class pacjent
{
public $Pesel;
public $nazwisko;
public function logowanie_pacjenta($nazwisko,$Pesel)
{
$this->Pesel=$Pesel;
$this->nazwisko=$nazwisko;
$baza=new baza;
$loncz=$baza->loncz();
if (!$loncz)
return false;
$wynik=mysql_query("SELECT * FROM pacjenci WHERE Nazwisko='$this->nazwisko' AND Pesel='$this->Pesel' ;"); if(!$wynik)
return false;
return true;
else
return false;
}
}
Ten post edytował Księżyc 12.04.2006, 11:27:51