Mefiuu
28.06.2009, 21:10:50
Witam. Mam pytanie. Stworzyłem dość prymitywny sposób samego logowania do panelu administracyjnego, który mi chwilowo wystarcza. Wykorzystałem opcję:
1. Plik login.php, który zawiera tylko formularz logowania.
2. Plik admin.php, w którym znajduje się instrukcja warunkowa
if ($login=='cos' && $haslo=='cos1') {
echo "Witaj w panelu administracyjnym.";
}
Takie coś mi chwilowo wystarcza. Jednak chciałbym to "wzmocnić" przez sprawdzanie, czy ktoś się zalogował. Znaczy chodzi o to, że do panelu chcę dodać różne opcje, jednak na innych plikach ten formularz już nie będzie działał. Wiem, że chronić podstronę można za pomocą sesji, jednak nie wiem dokładnie jak ich użyć, a tym bardziej do tego prymitywnego systemu logowania. Jak je dodać do tego systemu, aby do różnych podstron dodać ochronę??
Mefiuu
29.06.2009, 16:08:01
Chodzi mi o coś takiego (zmieniłem pliki tak, aby nie używać bazy danych, tylko zapisanych danych z funkcji warunkowej if):
index.php<?php
if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
function ShowLogin($komunikat=""){
echo "<form action='index.php' method=post>"; echo "Login: <input type=text name=login><br>"; echo "Hasło: <input type=text name=haslo><br>"; echo "<input type=submit value='Zaloguj!'>"; }
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<title>Strona główna</title>
</head>
<body>
<?php
if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
if($_SESSION["zalogowany"]!=1){
if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ if ($login=='Admin' && $haslo=='Admin') {
echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1;
}
else echo ShowLogin
("Podano złe dane!!!"); }
else ShowLogin();
}
else{
?>
Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a>
<br><a href='index.php?wyloguj=tak'>wyloguj się</a>
<?php
}
?>
</body>
</html>
Jednak po wpisaniu loginu: Admin i hasła: Admin, wyskakuje błąd o złych danych. Jak to ?
Wicepsik
29.06.2009, 17:03:47
<?php
if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
function ShowLogin($komunikat=""){
echo "<form method=post>"; echo "Login: <input type=text name=login><br>"; echo "Hasło: <input type=text name=haslo><br>"; echo "<input type=submit value='Zaloguj!'>"; }
?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
<head>
<title>Strona główna</title>
</head>
<body>
<?php
if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
if($_SESSION["zalogowany"]!=1){
if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ if ($_POST["login"]=='Admin' && $_POST["haslo"]=='Admin') {
echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>"; $_SESSION["zalogowany"]=1;
}
else echo ShowLogin
("Podano złe dane!!!"); }
else ShowLogin();
}
else{
?>
Gratulacje! Zalogowałeś się pomyślnie! Możesz przejśc teraz do innych podstron, np. do <a href="stronka.php">tej</a>
<br><a href='index.php?wyloguj=tak'>wyloguj się</a>
<?php
}
?>
</body>
</html>