![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 256 Pomógł: 16 Dołączył: 21.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tak jak w temacie.
Problem polega na tym że jak ktoś wpiszę np. 123 lub cokolwiek to i tak potwierdzi mu konto. Dodam że kod aktywacyjny przychodzi na maila. Chce przerobić ten skrypt tak aby sprawdzało mi jaki kod podał użytkownik i czy jest zgodny z kodem w bazie. Ewentualnie myślałem o przerobieniu tego kodu tak aby użytkownik najpierw wpisał ten kod potwierdzający a następnie mógł by się już normalnie zalogował na swoje utworzone konto. Tylko nie wiem jak zrobić właśnie porównanie czy kod w bazie i kod wpisany zgadzają się ze sobą .
Ktoś nakieruje mnie jak to zrobić. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 486 Pomógł: 101 Dołączył: 27.06.2010 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, nazwy zmiennych są case sensitive.
Po drugie, na jakiej zasadzie działa Twój formularz? Użytkownik jest zalogowany? Jeśli tak, to szukaj w bazie jego kodu potwierdzającego i porównuj z tym wpisanym w formularzu. W tym momencie szukasz po wpisanym kodzie, a nie po użytkowniku. Jeśli koniecznie chcesz zostać przy swoim zapytaniu (czego nie polecam, bo wtedy ktokolwiek może aktywować jakiekolwiek konto), to nie używaj porównania z wynikiem, tylko sprawdzaj, czy select znalazł jakiś wiersz. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 256 Pomógł: 16 Dołączył: 21.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Po pierwsze, nazwy zmiennych są case sensitive. Po drugie, na jakiej zasadzie działa Twój formularz? Użytkownik jest zalogowany? Jeśli tak, to szukaj w bazie jego kodu potwierdzającego i porównuj z tym wpisanym w formularzu. W tym momencie szukasz po wpisanym kodzie, a nie po użytkowniku. Jeśli koniecznie chcesz zostać przy swoim zapytaniu (czego nie polecam, bo wtedy ktokolwiek może aktywować jakiekolwiek konto), to nie używaj porównania z wynikiem, tylko sprawdzaj, czy select znalazł jakiś wiersz. OK rozumiem, założenie miałem na początku takie: Na podany adres e-mail przychodził kod aktywacyjny. Zanim użytkownik zaloguje się na konto, powinien potwierdzić rejestrację dlatego w formularzu podaje kod aktywacyjny a skrypt sprawdza czy taki kod istnieje w bazie. Jeśli znajdzie taki kod to w kolumnie aktywacja zmieni na "1". W jaki sposób sprawdzić czy dany kod istnieje w bazie ? ewentualnie jak zrobić taki link z potwierdzeniem |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Normalny url z np. ?activation=ifhnoiuhmcowriectrhweu4hm9cr8yw48thwt
i w skrypcie sprawdzasz if(!empty($_GET['activation'])) {...} szukasz w BD, robisz update i przekierowanie na stronę logownia. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 256 Pomógł: 16 Dołączył: 21.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem to w ten sposób
ale nie zmienia się nic w bazie
ten kod jest w pliku potwierdzenie.php a przy rejestracji wysyłam w ten sposób
gdzie zmiene $kod='1234'; $kod_aktywacyjny=md5(sha1($kod)); $nick = $_POST['nick']; zdjęcie z tabeli wygląda tak (IMG:http://iv.pl/images/36985716339778748641.png) Gdzie robię w tym kodzie błąd Ten post edytował jaca121212 18.02.2016, 12:08:01 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Raz używasz mysqli raz mysql_. Zdecyduj się (IMG:style_emoticons/default/smile.gif)
A co do samych zapytan to: Zaktualizuje Ci WSZYSTKIE rekordy, a nie tylko ten który chcesz. Poczytaj też o SqlInjection. @edit to w koncu jak masz? bo przed chwila bylo mysql_query a teraz juz $polaczenie->query Ten post edytował kapslokk 18.02.2016, 12:09:56 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 256 Pomógł: 16 Dołączył: 21.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Raz używasz mysqli raz mysql_. Zdecyduj się (IMG:style_emoticons/default/smile.gif) A co do samych zapytan to: Zaktualizuje Ci WSZYSTKIE rekordy, a nie tylko ten który chcesz. Poczytaj też o SqlInjection. @edit to w koncu jak masz? bo przed chwila bylo mysql_query a teraz juz $polaczenie->query te mysql dalłem do testów a z tym sql injection to się później zajmę |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 965 Pomógł: 285 Dołączył: 19.06.2015 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Jakieś błędy? http://php.net/manual/en/mysqli.error.php
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 256 Pomógł: 16 Dołączył: 21.12.2014 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wam udało się rozwiązać problem.
Moje niedopatrzenie zamiast pobrać kod z bazy to pobierałem zawartość pustej kolumny
Temat zamknięty. Ten post edytował jaca121212 18.02.2016, 18:40:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:40 |