![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam. Zrobiłem sobie "na surowo" skrypt logowania oparty na sesjach. Z tą jednak różnicą, że nie ma możliwości rejestracji, tylko sprawdza się dane znajdujące się w instrukcji warunkowej if. "Na surowo" wszystko działało ładnie, ale jak "włożyłem" to do mojej strony to niestety nie działa... Składa się z 4 plików:
login.php admin.php przykladowa.php sprawdz.php Kod pliku login.php : Kod <?php session_start(); session_register("zalogowany"); if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0; function ShowLogin($komunikat=""){ echo "$komunikat<br>"; echo "<form action='index.php' method=post>"; echo "Login: <input type=text name=login><br>"; echo "Hasło: <input type=password name=haslo><br>"; echo "<input type=submit value='Zaloguj!'>"; echo "</form>"; } ?> <!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" lang="pl" xml:lang="pl"> <head> <title>moja strona</title> <link rel="stylesheet" href="admin.css" type="text/css" /> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" /> <meta name ="description" content="Moja strona domowa" /> <meta http-equiv="content-language" content="pl" /> </head> <body> <div id="top"> <div id="gora"> <div id="goralewo"> Moja strona domowa </div> </div> </div> <div id="logo"> LOGO </div> <div id="menu"> <ul> <li><a href="index.php">Strona Główna</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> </ul> </div> <div id="glowne"> <div id="tresc"> <?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']=='mefiuu' && $_POST['haslo']=='mefiuu1') { $_SESSION["zalogowany"]=1; echo "Zalogowano poprawnie.<a href='admin.php'>Przejdź</a> do panelu Administratora. <br><a href='login.php?wyloguj=tak'>wyloguj się</a>"; } elseif ($_POST['login']=='Admin' && $_POST['haslo']=='Admin2') { $_SESSION["zalogowany"]=2; echo "Zalogowano poprawnie.<a href='admin.php'>Przejdź</a> do panelu Super Administratora. <br><a href='login.php?wyloguj=tak'>wyloguj się</a>"; } else echo ShowLogin("Podano złe dane!!!"); } else ShowLogin(); } ?> </div> </div> <div id="stopka"> © Created by Mati </div> </body> </html> No i powinno po wpisaniu login : Admin hasło: Admin2 pokazać mi plik admin.php lub jeśli źle wpiszę to pokazać, że są złe dane. a Tu ni stąd ni z owąd przenosi mnie na index.php. Czy ja tu gdzieś dałem przekierowanie a nie widzę ? Po wpisaniu: www.mojastrona.pl/przykladowa.php pojawia się komunikat o niezalogowaniu, ale jak się zaloguję to i tak to nic nie daje... |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 0 Dołączył: 20.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
przenosi cię na index bo sam mu to napisałeś żeby zrobił:
echo "<form action='index.php' method=post>"; Zmień index.php na inną to będzie przenosić gdzieś indziej |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 171 Pomógł: 32 Dołączył: 5.08.2008 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
O matko... Rzeczywiście dałem jeszcze na tamtej "surowej". Ale to nie zmienia faktu że nadal mi pokazuje że nie mam dostępu do strony ;/
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 2 Dołączył: 3.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
hmmm.. no nie wiem, bo jak miałem to w "surowej" stronie to wszystko było ok i nie narzekałem. Ktoś ma inną pomoc dla mnie może ?
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 29 Dołączył: 5.04.2007 Skąd: Rymanów Zdrój/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
a jak sprawdzasz zalogowanie?
nie czasem: ? bo jeśli tak to zmień na
i dodatkowa rada, tak jak kolega wyżej: NIE używaj session_register()! a przypisuj odrazu wartość do tablicy sesji. po zalogowaniu adminem:
to nie ma sensu, bo cały czas będzie ci pokazywało formularz, zmień na:
Ten post edytował bemol 3.07.2009, 21:10:08 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Błąd odnalazłem, da się teraz zalogować. Powstał jednak inny problem. Po wejściu do panelu admina, kiedy klikam na "wyloguj" przenosi mnie na str. główną, a kiedy wpiszę www.costamcos.pl/admin.php to dalej jestem zalogowany i tak w kółko;/ zmieniłem powyższy kod, dodając if($_GET["wyloguj"]=="tak"){session_destroy () ;echo "Zostałeś wylogowany z serwisu";} w miejsce if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";} . jednak nie działa w dalszym ciągu;/
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
np tak
Kod if (isset($_GET['logout'])==TRUE){ session_unset(); session_destroy(); } sprawdzasz czy zaistniała $_GET Ten post edytował kielich 4.07.2009, 21:16:11 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niestety, nic to nie dało. Znów przenosi mnie na index.php ale po wprowadzeniu www.costam.pl/admin.php pojawia się witaj administratorze;/
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
ale zmien tez
<a href='index.php?logout'> Wyloguj się</a><br /> i wtedy Kod if (isset($_GET['logout'])==TRUE){
session_unset(); session_destroy(); } |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 286 Pomógł: 29 Dołączył: 5.04.2007 Skąd: Rymanów Zdrój/Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
wyraźny błąd sesji.
wklej aktualny kod wylogowywania i admin.php |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
zmieniłem "logout" na "wyloguj"
login.php Kod <?php session_start(); session_register("zalogowany"); if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0; function ShowLogin($komunikat=""){ echo "$komunikat<br>"; echo "<form action='index.php' method=post>"; echo "Login: <input type=text name=login><br>"; echo "Hasło: <input type=password name=haslo><br>"; echo "<input type=submit value='Zaloguj!'>"; echo "</form>"; } ?> <!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" lang="pl" xml:lang="pl"> <head> <title>moja strona</title> <link rel="stylesheet" href="admin.css" type="text/css" /> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" /> <meta name ="description" content="Moja strona domowa" /> <meta http-equiv="content-language" content="pl" /> </head> <body> <div id="top"> <div id="gora"> <div id="goralewo"> Moja strona domowa </div> </div> </div> <div id="logo"> LOGO </div> <div id="menu"> <ul> <li><a href="index.php">Strona Główna</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> </ul> </div> <div id="glowne"> <div id="tresc"> <?php if (isset($_GET['wyloguj'])==TRUE){ session_unset(); session_destroy(); } if($_SESSION["zalogowany"]!=1){ if(!empty($_POST["login"]) && !empty($_POST["haslo"])){ if ($_POST['login']=='mefiuu' && $_POST['haslo']=='mefiuu1') { $_SESSION["zalogowany"]=1; echo "Zalogowano poprawnie.<a href='admin.php'>Przejdź</a> do panelu Administratora. <br><a href='login.php?wyloguj=tak'>wyloguj się</a>"; } elseif ($_POST['login']=='Admin' && $_POST['haslo']=='Admin2') { $_SESSION["zalogowany"]=2; echo "Zalogowano poprawnie.<a href='admin.php'>Przejdź</a> do panelu Super Administratora. <br><a href='login.php?wyloguj=tak'>wyloguj się</a>"; } else echo ShowLogin("Podano złe dane!!!"); } else ShowLogin(); } ?> </div> </div> <div id="stopka"> © Created by Mati </div> </body> </html> admin.php Kod <!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" lang="pl" xml:lang="pl"> <head> <title>moja strona</title> <link rel="stylesheet" href="admin.css" type="text/css" /> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" /> <meta name ="description" content="Moja strona domowa" /> <meta http-equiv="content-language" content="pl" /> </head> <body> <div id="top"> <div id="gora"> <div id="goralewo"> Moja strona domowa </div> </div> </div> <div id="logo"> LOGO </div> <div id="menu"> <ul> <li><a href="index.php">Strona Główna</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> <li><a href="cos.php">Coś</a></li> </ul> </div> <div id="glowne"> <div id="tresc"> <?php require("sprawdz.php"); ?> <? if($_SESSION["zalogowany"]==1) { echo "Witaj Administratorze!"; echo "<br><a href='index.php?wyloguj=tak'>wyloguj się</a>"; exit(); } elseif($_SESSION["zalogowany"]==2) { echo "Witaj Super Administratorze!"; echo "<br><a href='index.php?wyloguj=tak'>wyloguj się</a>"; exit(); } ?> </div> </div> <div id="stopka"> © Created by Mati </div> </body> </html> |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
i dalej nie zminiłeś tak jak mówiłem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) zobacz raz jeszcze
Kod echo "<br><a href='index.php?wyloguj=tak'>wyloguj się</a>"; zmin tak jak wczesniej pisałem Ten post edytował kielich 5.07.2009, 12:37:17 |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ależ mam taki kod :
Kod if (isset($_GET['wyloguj'])==TRUE){ session_unset(); session_destroy(); } Kod echo "<br><a href='index.php?wyloguj=tak'>wyloguj się</a>";
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
i nom i ma być
echo "<br><a href='index.php?wyloguj'>wyloguj się</a>"; sprawdzasz czy zaistniała zminna GET |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 371 Pomógł: 18 Dołączył: 23.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Działa wszystko, wystarczyło zmienić:
echo "<br><a href='index.php?wyloguj'>wyloguj się</a>"; na: echo "<br><a href='login.php?wyloguj'>wyloguj się</a>"; bo przecież formularz mam w pliku login.php (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Dziękuję wszystkim (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 442 Pomógł: 4 Dołączył: 28.12.2008 Skąd: Warszawa Ostrzeżenie: (20%) ![]() ![]() |
Nom mówiłem Ci zawsze sprawdzaj czy wykonan jest zminna GET a nie jej wartosc
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 10:47 |