![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Czemu w tym skrypcie login i hasło się nie pobiera, przez co nie da się zalogować? Połączenie jest dobre, dane w bazie są.
-------------------- |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 160 Pomógł: 5 Dołączył: 4.08.2010 Ostrzeżenie: (40%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
heh, no nie wiem co napisać. Dawno czegoś takiego nie widziałem.
linijka nr 7. ani $login ani $haslo nie istnieje, zapytanie wygląda więc tak :
Ślepy zobaczy, że ten kod jest BEZ SENSU. -------------------- :)
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Trochę poprawiłem kod ale teraz z kolei jakich kolwiek danych bym nie wpisał to mnie loguje:
Może jakieś pomysły w jaki inny sposób mogę napisać to poprawnie? Ten post edytował o2w5n778 29.05.2011, 08:24:50 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 548 Pomógł: 105 Dołączył: 4.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
w zapytaniu do tego $login powinna być przypisana wartość z formularza ale jeśli tak to co to jest:
apostrof nie jest potrzebny coś mi się wydaje że do $login wstawiasz wartość z formularza a później je porównujesz z POST dlatego cały czas masz spełniony warunek nie lepiej sprawdzić funkcją mysql_num_rows czy zapytanie zwraca jakiś rekord jak tak to logujemy jak nie to nie Ten post edytował kadlub 29.05.2011, 08:43:56 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 325 Pomógł: 33 Dołączył: 31.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Masz tutaj działający skrypt do logowania.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Trochę poprawiłem kod ale teraz z kolei jakich kolwiek danych bym nie wpisał to mnie loguje:
Może jakieś pomysły w jaki inny sposób mogę napisać to poprawnie? nie zauważyłem poprawek, bład ten sam co był. Po pierwsze, zmienne login i hasło nigdy nie przyjmują żadnych wartości. Napiszę Ci w punktach co masz zrobić: 1. połącz się z bazą. 2. jeśli istnieją dane z formularza, pobierz id użytkownika którego login i hasło odpowiadają loginowi i hasłu w bazie danych. 3. sprawdź czy ilość osób spełniających te kryteria jest równa 1, jeśli tak zapisz w sesji usera id które pobrałeś z bazy To co ty robisz to: 1. łączysz się z bazą 2. pobierasz użytkowników których login i hasło są równe '' czyli takich którzy nie mają loginu ani hasła 3. sprawdzasz czy dane z formularza zgadzają się ze zmiennymi login i hasło, których zawartość jest równa '' czyli są puste Dodam że nie wykorzystujesz danych które są w bazie danych (pomijając fakt, że pewnie i tak zapytanie zwraca zerową liczbę rekordów) -------------------- :)
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 3 Dołączył: 26.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kumam kolego o co ci chodzi, ja mam zrobiony panel logowania na podobnej zasadzie. Ja mam zrobione to tak:
Na stronie logowania(login.php) mam formularz, który przesyła potem za pomocą $_POST hasło i nazwę usera do pliku (logowanie.php) Potem w plik logowania zmiennej $_SESSION['user'] i $_SESSION['pass'] przypisuję nazwę usera i hasło otrzymane z $_POST. Jeżeli jedna z tych zmiennych jest pusta daje redirecta na panel logowania. Potem dołączam plik logowania się do bazy MYSQL gdzie $connect = mysql_connect('%',$_SESSION['username'], $_SESSION['pass']); Jeżeli logowanie się powiedzie to git jak nie to dostaje redirecta. w pliku do łączenia z bazą danych zczytuję jeszcze rekordy z bazy i tabeli zawierającej nazwy użytkownika, hasła i poziomy dostępu i przypisuje je do smiennej $data. Następnie w kodzie(logowanie.php) przypisywana jest zmienna sesyjna $_SESSION['authority'] = 1; jeżeli nazwa usera i hasło równe są rekordowi z bazy $data['user'] i $data['pass']. Jeżeli wszystko okej to użytkownik dostaje treść która domyślnie znajduje się dalej za instrukcją warunkową sprawdzającą właśnie zgodność nazwy usera i hasła. Jeżeli hasło jest złe to dostaje outa na login.php. To tyle. Myślę że ci rozjaśniłem trochę. Aha na początku panelu login.php ustawiamy session_start(); session_unset(); session_destroy(); Aha zamiast && wpisz AND. Bo && to alternatywa. Jeżeli jeden warunek jest prawdziwy wtedy zwraca prawdę. Ten post edytował worek 29.05.2011, 22:10:03 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ale z:
to się jeszcze nigdy nie spotkałem. Przecież tu to się wpisuję hosta, użytkownika i hasło do bazy danych ![]() -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Masz pobierz sobie cały system, rejestracja, logowanie, weryfikacja, przypomnienie, zmienna danych, gotowa baza danych
![]() i przykład demo: www.nauka.e-putana.pl/kkkkk/a.zip Edit: A jak nie znasz dobrze php to oglądnij sobie te filmiki: http://www.uw-team.org/videoarty_kurs_php.html nauczą cię trochę ![]() Ten post edytował plej 30.05.2011, 15:22:45 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Drogi kolego... Ja całą moją wiedzę posiadam z kursów uw-team, ale niestety o połączeniu PHP z MySQL była tylko 1 lekcja i nie była ona zbyt rozwinięta
![]() -------------------- |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
wiem:)
ale do tego też książki służą ebooki darmowe na necie:) a także kursy wystarczy poszukać. |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 715 Pomógł: 47 Dołączył: 5.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat $connect = mysql_connect('%',$_SESSION['username'], $_SESSION['pass']); Chyba na niezbyt dobrym poziomie był ten kurs. Żeby parametry połączenia z bazą danych trzymać w sesji,normalnie nóż w plecy. |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 3 Dołączył: 26.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Chyba na niezbyt dobrym poziomie był ten kurs. Żeby parametry połączenia z bazą danych trzymać w sesji,normalnie nóż w plecy. No to chyba coś kolega nie zrozumiał zamierzenia tego kodu. A w czym mam trzymać ![]() ![]() ![]() ![]() ![]() ![]() ![]() Formularz logowania | (Login i Hasło) | skrypt logowanie.php | $_POST[login] i $_POST[pass] przypisywane do $_SESSION login $_SESSION pass | logowanie do bazy przy użyciu $_SESSION | Połączenie udane $_SESSION[authority] = 1 | Połączenie nieudane kick na formularz logowania | Formularz logowania(session_start, session_unset, session_destroy) Ten post edytował worek 30.05.2011, 17:54:27 |
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
Cytat $connect = mysql_connect('%',$_SESSION['username'], $_SESSION['pass']); takiego czegoś to ja jeszcze nie widziałem. Dlatego popieram Rid i nie komentuje tego ![]() Edit: pisałem że tu masz cały system logowania itd.: www.nauka.e-putana.pl/kkkkk/a.zip jak go nie wykorzystasz to chociaż ci pomoże:) Ten post edytował plej 30.05.2011, 18:17:58 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Na stronie logowania(login.php) mam formularz, który przesyła potem za pomocą $_POST hasło i nazwę usera do pliku (logowanie.php) Potem w plik logowania zmiennej $_SESSION['user'] i $_SESSION['pass'] przypisuję nazwę usera i hasło otrzymane z $_POST. Jeżeli jedna z tych zmiennych jest pusta daje redirecta na panel logowania. Potem dołączam plik logowania się do bazy MYSQL gdzie $connect = mysql_connect('%',$_SESSION['username'], $_SESSION['pass']); Jeżeli logowanie się powiedzie to git jak nie to dostaje redirecta. w pliku do łączenia z bazą danych zczytuję jeszcze rekordy z bazy i tabeli zawierającej nazwy użytkownika, hasła i poziomy dostępu i przypisuje je do smiennej $data. Następnie w kodzie(logowanie.php) przypisywana jest zmienna sesyjna $_SESSION['authority'] = 1; jeżeli nazwa usera i hasło równe są rekordowi z bazy $data['user'] i $data['pass']. czyli mam rozumieć, że jeśli loguje się 100 userów o pełnym dotsępnie, to tych 100 ma takie samo hasło i nazwę użytkownika (jak wtedy poznać kto jest kto) czy może jest założonych 100 kont połączeniowych do tej bazy ? Bo tak to z Twojego opisu wygląda, z forularza login i hasło do AUTORYZACJI userów to te same dane co do połaczenia ? Jeśli tak, to gratuluję poczucia humoru. gino |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 3 Dołączył: 26.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
Niet niet, pełny dostęp ma tylko 3 userów co już pisałem, a reszta userów czyli zawartość witryny jedzie na jednym haśle z ograniczeniami do SELECTA do określonych tabel. A co do poczucia humoru to owszem, mam
![]() ![]() ![]() |
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
no coment
![]() |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
popieram, programuję ładnych parę lat, ale już komentować nie będę.
gino |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%) ![]() ![]() |
ja może i od prawie dwóch miesięcy ale jednak sporo już wiem ale takiego czegoś to ja nie spotkałem nigdzie
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 2.05.2025 - 04:19 |