Coś jest nie tak z tym kodem?. Konkretnie chodzi mi o wiersz 35-gdy ustawię $result=0 to logowanie do strony main.php przebiega poprawnie, a nie powinno. Czy mam rację?
Hasło które wpisuję w formularz logowania jest takie samo jakie jest w bazie, więc moim zdaniem powinna być wykonywana dalsza instrukcja else(wiersz 37)
<?php
$host='localhost';
$baza='biblioteka';
$uzytkownik="root";
$haslo="tqwe";
function checkpass($user,$pass)
{
global $host,$baza,$uzytkownik,$haslo;
$db_obj=new mysqli($host,$uzytkownik,$haslo,$baza);
if($db_obj->connect_errno)
{
return 1;
}
$query="SELECT*FROM users WHERE Nazwa='$user'";
if(!$result=$db_obj->query($query))
{
$db_obj->close();
return 1;
}
if($result->num_rows<>1)
{
echo "brak uzytkownika o takiej nazwie lub jest juz jeden taki"; $result=2;
}
else
{
$row=$result->fetch_row();
$pass_db=$row[0];
if($pass!=$pass_db)
{
$result=2;
}
else
{
$result=0;
}
}
$db_obj->close();
return $result;
}
if(isset($_SESSION['zalogowany'])) {
}
else if(!isset($_POST["haslo"]) || !isset($_POST["user"])) {
if(!isset($_SESSION['komunikat']))
$_SESSION['komunikat']="Wprowadz nazwe i haslo uzytkownika";
include('form.php');
}
else
{
$val=checkpass($_POST["user"], $_POST["haslo"]);
if($val==0)
{
$_SESSION['zalogowany']=$_POST["user"];
}
else if($val==1)
{
$_SESSION['komunikat']="blond serwera";
include('form.php');
}
else if($val==2)
{
$_SESSION['komunikat']="Nieprawidlowa nazwa lub haslo uzytkownika";
include('form.php');
}
else
{
$_SESSION['komunikat']="zalogowanie nie bylo mozliwe";
include('form.php');
}
}
?>
ok już wiem.
Temat można usunąć.