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%)
|
|
|
|
|
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 (IMG:style_emoticons/default/smile.gif) |
|
|
|
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 (IMG:style_emoticons/default/smile.gif)
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ę(IMG:style_emoticons/default/biggrin.gif) 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 (IMG:style_emoticons/default/smile.gif)
|
|
|
|
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ć(IMG:style_emoticons/default/questionmark.gif) Jak panel ma być dostępny tylko dla użytkowników którzy są w bazie?(IMG:style_emoticons/default/questionmark.gif) Może w pliku??(IMG:style_emoticons/default/exclamation.gif) (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif) Albo jeszcze lepiej w cookies?(IMG:style_emoticons/default/questionmark.gif) Wyjaśnię może jak działa ten skrypt (IMG:style_emoticons/default/tongue.gif) Zawsze mogę trzymać po stronie serwera ale w tym konkretnym wypadku to nie wchodzi w grę. Jest tylko trzech użytkowników którzy mają pełny dostęp do bazy. A każdy nowy użytkownik moderator czy user dostaje brak uprawnień do bazy z uprawnieniami dla tabel tylko. Ot tak to wygląda. Jak na moje oko jest to skalowalne rozwiązanie. 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 (IMG:style_emoticons/default/haha.gif) 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 (IMG:style_emoticons/default/biggrin.gif) Lubię sobie czasem obejrzeć coś od monthy pythona (IMG:style_emoticons/default/biggrin.gif) Żywot Briana czy Święty Grall (IMG:style_emoticons/default/biggrin.gif)
|
|
|
|
Post
#18
|
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%)
|
no coment (IMG:style_emoticons/default/haha.gif)
|
|
|
|
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 (IMG:style_emoticons/default/haha.gif)
|
|
|
|
Post
#21
|
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 3 Dołączył: 26.04.2011 Ostrzeżenie: (0%)
|
Można powiedzieć że ten skrypt co pisałem to taka lżejsza wersja pma dla klienta dla którego pma jest zbyt nieogarnięte a on woli mieć ładnie wszystko w tabelkach (IMG:style_emoticons/default/biggrin.gif) Klient płaci i wymaga no to piszę jak on sobie zażyczy. Przecież nie odprawie gościa z kwitkiem.
|
|
|
|
Post
#22
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%)
|
A ja jeszcze wracając co do tego:
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 ................................................................................ Czy każdy zarejestrowany użytkownik musi mieć swoje id, czy nie może za id posłużyć login? Przecież jest on indywidualny dla każdego użytkownika. Ja narazie nie napisałem jeszcze rejestracji więc użytkowników dodałem ręcznie w takiej formie: imie, nick, haslo, email I chciałem zrobić to tak: 1. Łączę z bazą 2. Wysyłam zapytanie do MySQL czy użytkownik o takim loginie i haśle jest. 3. Jeżeli jest pobieram jego dane 4. Jeżeli tak session=1 Tylko teraz pojawiają się pytania: Jak mam skonstruować to zapytanie i jeżeli jest taki user to pobrać jego dane? Oglądałem rożne skrypty logowania ale w każdym jest to inaczej zrobione i nie mogę tego w prosty sposób zrozumieć. Jeżeli ktoś mógł by to pokazać na jakimś banalnie prostym przykładzie był bym bardzo wdzięczny. Ten post edytował o2w5n778 30.05.2011, 21:36:18 |
|
|
|
Post
#23
|
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%)
|
o2w5n778
wysłałem ci tam linka i tam pobierz to i rozpakuj masz gotowce:) możesz je wykorzystać wszystkie ale możesz mieć wzór:) |
|
|
|
Post
#24
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%)
|
No i znów problem:
Jeżeli login i hasło jest poprawny powinno mi ustawiać
A tak nie jest Ten post edytował o2w5n778 31.05.2011, 08:41:04 |
|
|
|
Post
#25
|
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
zrób sobie:
i wrzuć do phpmyadmina, zobacz czy ci wyświetli który kolwiek rekord.... w sumie bym zrobił troszkę inaczej ale to już tylko propozycja
|
|
|
|
Post
#26
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%)
|
wrzuciłem i error
robię złe zapytanie? Ten post edytował o2w5n778 31.05.2011, 08:54:52 |
|
|
|
Post
#27
|
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
może jakieś dokładniejsza informacja (IMG:style_emoticons/default/wink.gif) ?
|
|
|
|
Post
#28
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%)
|
#1054 - Unknown column 'status' in 'where clause'
Ten post edytował o2w5n778 31.05.2011, 08:57:35 |
|
|
|
Post
#29
|
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
sprawdź czy dobrze przekopiowałeś to co napisałem. Chodzi o apostrofy i cudzysłowy w zapytaniu (IMG:style_emoticons/default/smile.gif)
jak edytujesz, to zostaw poprzedni bo teraz mój post był bezsensu (IMG:style_emoticons/default/smile.gif) podaj mi strukturę twojej tabeli (IMG:style_emoticons/default/wink.gif) Ten post edytował Hpsi+ 31.05.2011, 08:59:02 |
|
|
|
Post
#30
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%)
|
Wkleiłem ma się rozumieć bez echo i " "
i zamiast $tabela dałem nazwę tabeli:
Ten post edytował o2w5n778 31.05.2011, 09:07:01 |
|
|
|
Post
#31
|
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
Struktura tabeli to nie jest zapytanie kolego (IMG:style_emoticons/default/smile.gif)
twój błąd mówi ze w tabeli users nie masz kolumny status ... |
|
|
|
Post
#32
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%)
|
Struktura tabeli:
(IMG:http://img594.imageshack.us/img594/6070/84111013.png) A mogę równiedobrze usunąć z zapytania status? |
|
|
|
Post
#33
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Myślisz, że jak to teraz zrobisz bez pytania to wybuchnie Twój pokój?
|
|
|
|
Post
#34
|
|
|
Grupa: Zarejestrowani Postów: 483 Pomógł: 50 Dołączył: 15.03.2005 Skąd: Poznań Ostrzeżenie: (0%)
|
a wręcz powinieneś usunąć status z zapytania (IMG:style_emoticons/default/smile.gif)
@nospor: naprawdę czasem brakuje mi opcji na forum "i like it" twoje teksty przeważnie mnie pozytywnie nastawiają do dnia ;] Ten post edytował Hpsi+ 31.05.2011, 09:10:01 |
|
|
|
Post
#35
|
|
|
Grupa: Zarejestrowani Postów: 235 Pomógł: 0 Dołączył: 10.12.2009 Ostrzeżenie: (0%)
|
Usunąłem. Tylko jak się nie dało zalogować tak się nadal nie da (IMG:style_emoticons/default/smile.gif) Dane w bazie do zalogowania mam na 100% |
|
|
|
Post
#36
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Cytat $query = "SELECT * FROM users WHERE login='$login' AND haslo='$haslo'"; if (mysql_num_rows($query) == 1){ Weź zapoznaj się wpierw z podstawami podstaw! Najpierw trzeba zrobić mysql_query() http://pl.php.net/manual/en/function.mysql-query.php Cytat @nospor: naprawdę czasem brakuje mi opcji na forum "i like it" twoje teksty przeważnie mnie pozytywnie nastawiają do dnia ;] (IMG:style_emoticons/default/smile.gif)
|
|
|
|
Post
#37
|
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 52 Dołączył: 18.02.2008 Ostrzeżenie: (0%)
|
@o2w5n778 jeśli mam być szczery: nigdy nie zalogowałbym się i nie podał danych do zalogowania dla systemu, który został napisany przez kogoś kto nie ma o tym pojęcia. Najbardziej niepokojące nie jest to, że nie potrafisz, ale to, że mając podane gotowe skrytpy, maniual, dokumantacje mySQL-a online po prostu Ci się nie chce. Dziwię się cierpliwości kolegów.
gino |
|
|
|
Post
#38
|
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 11 Dołączył: 9.05.2011 Skąd: Gdańsk Ostrzeżenie: (10%)
|
(IMG:style_emoticons/default/haha.gif) ja typa nie ogarniam tym bardziej że mu dałem linka do gotowych skryptów zalogowania, rejestracji itd. nawet baze tam ma:>
|
|
|
|
![]() ![]() |
|
Aktualny czas: 25.12.2025 - 13:00 |