Oto wszystkie pliki:
index.php: (jest to głowny plik, który ma tylko wyświetlać login i hasło mozliwe do wpisania)
<?php include('sekcja_naglowka.php'); ?> <body> <div id="central"> <form action='logowanie.php' method='post'> Login: <input type='text' name='login' size='20' /><br /> Hasło: <input type='password' name='haslo' size='20' /><br /> <input type='submit' name='submit' value='Zaloguj' /> <input type='hidden' name='submitted' value='TRUE' /> </form> </div> </body> </html>
logowanie.php: jest to plik sprawdzający czy login i hasło są takie jak w bazie i jesli tak to tworzy dwa ciasteczka (dla loginu i hasła po jednym):
<?php include('sekcja_naglowka.php'); { { } else { $login = FALSE; } { } else { $haslo = FALSE; } if($login && $haslo) { $resultat = mysqli_query($dbc,"SELECT login,haslo FROM user WHERE login='$login' AND haslo=SHA1('$haslo')"); if(mysqli_num_rows($resultat) == 1) { $wyn = mysqli_fetch_array($resultat); $url = absolute_url('glowny.php'); } else { } } else { } } ?>
oraz glowny.php, czyli głowny plik, w którym admin będzie mogł zarzadzac serwisem, który bedzie otwierany gdy zostaną utworzone dwa ciasteczka:
<?php include('sekcja_naglowka.php'); { $url = absolute_url('index.php'); } ?> <body> <div id="naglowek"> <p class="panel">Panel administratora</p> </div> <div id="logowanie"> </div> <div id="lewa"> <div class="sidebarmenu"> <ul id="sidebarmenu1"> <li><a href="index.php?name=zdjecia">Dodaj zdjęcia</a></li> <li><a href="index.php?name=usun">Usuń zdjęcia</a></li> <li><a href="index.php?name=zmien">Zmień wyświetlanie</a></li> </ul> </div> </div> <div id="prawa" class="prawa"> <?php if($_GET['name'] == 'usun') { include('usun_zdjecia.php'); } else if($_GET['name'] == 'zdjecia') { include('preup.php'); } else if($_GET['name'] == 'zmien') { include('zmien_wyswiet.php'); } } ?> </div> <div id="stopka"> </div> </body> </html>
Skrypt działa do pewnego momentu dobrze, tzn w przypadku złego hasla nie pojawia się glowny.php w przypadku dobrego pojawia sie i wyswietla na gorze, witaj, imie
To działa dobrze. Natomiast problem jestw tym trzecim pliku z linkami w menu, które jak widac przesyłane są metogą GET. ponieważ po kliknięciu na takiego linka pojawia mi się znowu strona index.php zebym wprowadził login i haslo, a jak to zrobie to znowu to samo i tak sie zapętla..podsumowując zadnego z linka nie mozna otworzyć. Wydaje mi się, że dzieje się tak dlatego ponieważ ciasteczek nie ma w tych plikach dołączonych do linków czyli: 'usun_zdjecia.php, preup.php oraz zmien_wysw.php. Wydaje mi się że trzeba by jakoś w tych plikach wstawić te ciasteczka, żeby poprostu nie pytało o login i hasło. Myslałem o wysłaniu ich metodą GET, razem z linkiem, ale pytanie czy to dobre myslenie, czy tak się praktykuje? a jeśli nie to jak to zrobić by pliki w tych linkach otwierały sie normalnie bez zadnego potwierdzania loginu i hasła (wkoncu jesli jestem juz jako admin to niepowinienem musiec znowu sprawdzac loginu i hasła)