[PHP] Problem z rejestracją konta |
[PHP] Problem z rejestracją konta |
24.08.2021, 14:49:19
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.02.2020 Ostrzeżenie: (0%) |
Cześć, chciałem się trochę że tak to ujmę 'Zabawić' z php
i chciałem skorzystać z gotowych funkcji uwierzytelniających Logowanie i rejestracja. Chciałem użyć tego: https://github.com/dynamiccodePL/PHP-System-Uwierzytelniania Lecz jest problem z rejestracją, otrzymuje błąd 'Nie udało się zarejestrować.' I nie wiem dlaczego tak się dzieje.Dane do db są na 100% poprawne Localhost | PHP - 7.4.9 Ten post edytował NeXt2k20 24.08.2021, 14:50:33 |
|
|
24.08.2021, 16:10:21
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Zajrzyj w logi swojego serwera. Zmieniłeś hasło i login?
-------------------- |
|
|
24.08.2021, 16:57:25
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.02.2020 Ostrzeżenie: (0%) |
A jak mogę zobaczyć logi na serwerze lokalnym ?
Tak wyglada połączenie bazy danych w pliku set-db-connection.php
db name - test name - root passwor - haslo Więc wszystko się zgadza |
|
|
24.08.2021, 17:05:08
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 Dołączył: 27.12.2004 |
Zamiast nic nie mowiacego
echo '<p>Nie udało się zarejestrować.</p>'; wyswietla tam blad jaki zwraca ci PDO a wszystko bedzie jasne https://www.php.net/manual/en/pdo.errorinfo.php ps: przenosze na przedszkole -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
25.08.2021, 11:01:16
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.02.2020 Ostrzeżenie: (0%) |
Wszystko już działa
Poprawiona linia 52 w class.user.php
oraz set-db-connection.php
I zmieniono strukture tabeli
Wszystko działa i dziękuje za pomoc |
|
|
25.08.2021, 15:31:48
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
`registered_timestamp` varchar(50) tutaj jakiś typ daty powinien być np datetime. Nie ma na poziomie bazy sprawdzania unikalności loginu więc można kilka identycznych kont założyć (zmieniając również wielkość znaków). Przy insert nie potrzebujesz null dla kolumny auto increment.
-------------------- |
|
|
25.08.2021, 18:42:12
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.02.2020 Ostrzeżenie: (0%) |
Typ varchar zmieniłem na datetime i wszystko, okay
A co do, "Przy insert nie potrzebujesz null dla kolumny auto increment." To jest to koniecznie ponieważ, gdy usunę null to otrzymuje błąd. Fatal error: Uncaught PDOException: SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1 in C:\wamp64\www\class.user.php on line 52 A jeśli wstawie same ' ', otrzymuje: Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'id' at row 1 in C:\wamp64\www\class.user.php on line 59 A przy użyciu null, wszystko działa. |
|
|
25.08.2021, 19:02:00
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Oczywiście, lista kolumn musi się zgadzać. Dlatego id też możesz usunąć, wstawi się samo z automatu.
-------------------- |
|
|
25.08.2021, 19:07:24
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Na registered_timestamp ustaw typ TIMESTAMP i pomiń to pole przy INSERT.
-------------------- |
|
|
26.08.2021, 14:15:18
Post
#10
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.02.2020 Ostrzeżenie: (0%) |
INSERT wygląda teraz tak:
A struktura db tak:
Czy teraz wszystko jest tak jak powinno ? |
|
|
26.08.2021, 15:54:08
Post
#11
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 Dołączył: 27.12.2004 |
email moze miec wiecej niz 50 znakow
zas IP chyba nie ma 100 znakow ot taka drobnostka by sie do czegos przyczepic -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
26.08.2021, 17:41:14
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Tak samo hash hasła też nie będzie miał 255 znaków. Zarejestruj 2 konta na ten sam email ale różna wielkość znaków.
-------------------- |
|
|
27.08.2021, 10:35:58
Post
#13
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.02.2020 Ostrzeżenie: (0%) |
A więc tak, w google wyczytałem że email może zawierać 255 znaków
więc ustawiłęm wartość na 255 zaś o ip wyczytałem że idealna wartość to 15 i będzie okay, tak też zrobiłem. Każdy hash zawiera 60 znaków więc ustawiłem varchar(60). A jeśli chodzi o "Zarejestruj 2 konta na ten sam email ale różna wielkość znaków." Jest to nie możliwe tak samo jest w przypadku loginu. Struktura tabeli
|
|
|
27.08.2021, 11:05:01
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 447 Pomógł: 6292 Dołączył: 27.12.2004 |
Cytat Tak samo hash hasła też nie będzie miał 255 znaków Akurat tutaj niekoniecznie. Ok, teraz nie bedzie mial, ale moze sie zmienic. On uzywa DEFAULT dla hasha i w manualu zalecaja by w takim przypadku trzymac wielkosc 255 poniewaz DEFAULT moze sie zmienic. Temu nie lubie nigdy dawac DEFAULT -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
27.08.2021, 16:08:35
Post
#15
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Jeśli się zmieni to długość hasha będzie najmniejszym problemem.
-------------------- |
|
|
28.08.2021, 05:37:32
Post
#16
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 16.02.2020 Ostrzeżenie: (0%) |
Na chwile obecną zostane przy PASSWORD_DEFAULT i chciał bym wszystki podziękować za pomoc
|
|
|
Wersja Lo-Fi | Aktualny czas: 20.04.2024 - 04:17 |