![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 2 Dołączył: 16.11.2003 Skąd: Wrocław / Skokowa Ostrzeżenie: (10%) ![]() ![]() |
Na swojej stronie chciałem umieścić skypt autorstwa noos-a "System logowania oparty o sesje i MySQL ". Jednak skypt mi nie działa , a dokładniej nie sprawdz mi loginu i hasła, rfazem z autorem skyptu prubowaliśmy odkryć czemu tak sie dzieje jednak nie udało se. Poniżej zamieszczem kod skyptu z nadzieją że ktos mi pomoże.
[php:1:bba90ddf43] <? include("header.tpl"); #LOGOWANIE by Noose #W razie problemów noose@poczta.wp.pl #albo GG: 1822588 #pozdrawiam # Inicjujemy funkcje z ktorej bedziemy pózniej korzystac:) function logowanie() { echo("<form method ="post">n <br>n User: <input type="text" name="login" style="height:15px;font-size:10px;width:80px; "><br>n Pass: <input type="password" name="haslo" style="height:15px;font-size:10px;width:80px; "><br>n <input type="submit" name="submit" value="Zaloguj" size="6 " style="height:19px;font-size:10px; "><br>n <br> </form>n"); } # i po funkcji # w tym pliku są zmienne potrzebne do łaczenia się z baza danych include("config.cfg"); #plik z info o bazie danych if(!isset($submit)) # jeżeli nie zaznaczono submit, odpal logowanie { logowanie(); } else # w innym przypadku.... { $login=$_POST["login"]; $haslo=$_POST["haslo"]; $db=mysql_connect("$sql_host", "$sql_user", "$sql_pass") or die("Nie można się połączyć z serwerem"); # łaczenie się z bazą danych mysql_select_db("$sql_base", $db) or die("Problem z łączeniem się z bazą danych "); # jeżeli występują problemy to przerywa skrypt $sql="SELECT * FROM users WHERE user_login = '$login'" or die("Nie można załadowac danych z bazy"); ; # zapytanie do mysql o wyswietlenie komórki USER_NAME w której figuruje zmienna $login $result=mysql_query($sql); while($row = mysql_fetch_array($result)) { $user_login= $row["user_login"]; # $zmienna_używana_w_skrypcie=$komórka["nazwa_komórki_ze_sql"]; $user_pass= $row["user_pass"]; # tutaj definiujemy komorki $ban=$row["ban"]; if (($haslo != $user_pass) || ($login != $user_login)) # jeżeli hasło / login się nie zgadzają { echo("Zly login/pass"); # pokazuje "Zly login/pass" oraz logowanie (z wczesniej zadeklarowanej funkcji:) logowanie(); } else { # w innym przypadku (tj. login i pass są prawdziwe) session_register(login) or die("ERROR"); session_register(ban) or die("ERROR"); include_once("index.php"); print_r($_SESSION); } } } include("footer.tpl"); ?> [/php:1:bba90ddf43] oraz w pliku header.tpl jest: [php:1:bba90ddf43] <? session_name(pupunia) or die("ERROR"); session_start() or die("ERROR"); ?> [/php:1:bba90ddf43] Według mnie problem jest taki ze [php:1:bba90ddf43] else { # w innym przypadku (tj. login i pass są prawdziwe) session_register(login) or die("ERROR"); session_register(ban) or die("ERROR"); include_once("index.php"); print_r($_SESSION); } [/php:1:bba90ddf43] nie działa ( i jeszcze dodam że skypt według autora działał na jego stronie) -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Nie przeglądałem całego kodu, ale to co mi się rzuciło w oczy... zamień:
[php:1:599b270044]<?php session_register(login) or die("ERROR"); session_register(ban) or die("ERROR"); ?>[/php:1:599b270044] na [php:1:599b270044]<?php $_SESSION['login'] = $login; $_SESSION['ban'] = $ban; ?>[/php:1:599b270044] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 0 Dołączył: 9.07.2003 Skąd: Lublin city Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej w takim przypadku dac zapytanie do bazy:
[sql:1:87e2af3a8f]SELECT * FROM users WHERE user_login='login_z_formularza' AND user_pass='haslo_z_formularza'[/sql:1:87e2af3a8f] i sprawdzic czy jest rezultat? -------------------- (none)
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 2 Dołączył: 16.11.2003 Skąd: Wrocław / Skokowa Ostrzeżenie: (10%) ![]() ![]() |
Dalej nie działa:( obojętnie jaki wpisze login i hasło to dzieje się to samo:( czyli znika mi formularz i nic sie nie dzieje:( dalej nie moge wejsc w chroniony dział.
//a w phpmyadmin jak dam SELECT * FROM users WHERE user_login='login_z_formularza' AND user_pass='haslo_z_formularza' to mi sie wysiwtla dobry login i haslo -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
A jak sprawdzasz w chronionym dziale, czy user jest zalogowany?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 2 Dołączył: 16.11.2003 Skąd: Wrocław / Skokowa Ostrzeżenie: (10%) ![]() ![]() |
ja nie moge wejsc do tego dzialu bo mi pisze ze brak dostepu
kod zabezpiecajacy który jest w chronionym dziale [php:1:5e91c08ae4] <? include ("header.tpl"); if (!isset($_SESSION["login"])) # sprawdza czy w sesji jest zaladowana zmienna login { echo(" <pre> Error 403 <br> Brak dostępu do zasobów </pre>"); include ("footer.tpl") ; exit(); } ?> [/php:1:5e91c08ae4] -------------------- |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 660 Pomógł: 0 Dołączył: 28.08.2002 Skąd: Starachowice Ostrzeżenie: (0%) ![]() ![]() |
Nie widzę nigdzie startowania sesji... (session_start()).
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 2 Dołączył: 16.11.2003 Skąd: Wrocław / Skokowa Ostrzeżenie: (10%) ![]() ![]() |
Cytat oraz w pliku header.tpl jest:
<? session_name(pupunia) or die("ERROR"); session_start() or die("ERROR"); ?> -------------------- |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 182 Pomógł: 2 Dołączył: 16.11.2003 Skąd: Wrocław / Skokowa Ostrzeżenie: (10%) ![]() ![]() |
ale kit :/ odkryłem problem , wszystko sie dzieje przez serwer :/ sprawdziłem na lycosie i tam mi wszystko działa:/ a nie rozumiem bo normalnie serw na którym mam stronke jest płatny (ja mam załatwione konto po znajomości)
-------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 07:04 |