![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%)
|
Witam,
napisałem skrypt rejestrowania się nowych użytkowników na stronie i chciałbym, aby po wypełnieniu formularza rejestracyjnego użytkownik miał możliwość aktywowania konta poprzez kliknięcie linku. Napisałem takie coś i nie działa:
Plik, do którego zostaje przekierowany użytkownik, który się zarejestrował i chce aktywować konto: Po otwarciu drukowany jest tekst, że "Twoje konto zostało aktywowane.", ale tak niestety nie jest. Mógłby ktoś pomóc i powiedzieć, co robię źle? Z góry dziękuję. |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%)
|
Wszystko wygląda dobrze, jednak dla klucza aktywacyjnego utworzyłbym osobną tabelę klucze, w której przechowywałbym id użytkownika i klucz. Jest to tylko kwestia tego, że z tabeli użytkowników z pewnością będziesz korzystał często, ale z tej unikalnej informacji jaką jest klucz aktywacyjny skorzystasz być może tylko raz. Zatem kolumna z kluczem w tabeli użytkowników jest rzeczą zbędną.
Pozostaje pytanie, dlaczego to nie działa. Może posługujesz się złymi kolumnami? A może w kolumnie identyfikator w tabeli w bazie danych nie możesz zapisać tylu znaków ile wygeneruje konkatenacja dwóch wyników uniqid() i w efekcie zapisujesz tylko część klucza. |
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%)
|
Faktycznie, pomysł z drugą tabelą jest dobry, zrobię tak.
Na razie jednak sprawdzam, czy rzeczywiście nie ma jakiegoś głupiego błędu i widzę, że wszystko jest ok, posługuję się dobrymi kolumnami, w zapytaniu nie ma literówek, dodatkowo zapytanie UPDATE'ujące wykonałem w phpMyAdmin i wszystko pięknie zadziałało. Problem jest tylko z poziomu skryptu. Co do nie mieszczenia się klucza w tabeli to raczej nie, gdyż uniqid() generuje ciąg 13-znakowy, czyli konkatenacja dwóch takich ciągów będzie miała 26 znaków. W tabeli ustawiłem pole dla klucza na VARCHAR(100), więc musi się mieścić. |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%)
|
Porównaj zawartość $_GET['iden'] (wyświetl ją sobie tymczasowo na stronie) z zawartością tabeli w phpMyAdminie. Dodaj po mysql_query() kod sprawdzający, czy zapytanie zostało wykonane:
Ten post edytował mortus 16.11.2011, 16:48:52 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%)
|
Już działa.
Ten post edytował jg44 16.11.2011, 17:12:57 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 01:21 |