Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz
  • 0

Błąd z formularzem rejestracji (hashowanie hasła)


TheTroy

Pytanie

Opublikowano

Witam. Otóż mam problem z formularzem rejestracji wywala mi taki oto komunikat:

Cytat

Strict standards: Non-static method user::passSalter() should not be called statically in

C:\wamp64\www\register.php on line 75

oto kod z 75 linii:

To jest ukryta treść, proszę

dane które są pobierane z formularza:

To jest ukryta treść, proszę

a tutaj jest sam formularz HTML:

To jest ukryta treść, proszę

Wie może ktoś jakby naprawić ten błąd?

12 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

Opublikowano
8 godzin temu, maxaz napisał:

spróbuj:

To jest ukryta treść, proszę

Jak chcesz samo hash, to po prostu używasz go na stringu:

To jest ukryta treść, proszę

 

Niestety dalej nie działa ;/ może podam ci cały kod rejestracji i go se ogarniesz:

To jest ukryta treść, proszę

a passSalter pobiera z innego pliku tu poniżej masz zawartość jak to "passSalter" wygląda w 2 pliku:

To jest ukryta treść, proszę

Tu powyżej gdzie pisze:

[email protected]

powinno być: $ @ @ # $ # @ $ dodałem odstęp od tego aby nie wywalało tego tekstu bo wcięło się to co wyżej .

Opublikowano

Używanie md5 do hashowania haseł w 2018 nie jest zbyt dobrym pomysłem. Ponownie namówię Cię do skorzystania z wbudowanej w PHP funkcji hash -- jest ona bezpieczniejsza. Przy sprawdzaniu hasła, po prostu porównujesz hash z inputa z hashem w bazie danych.

Non omnis moriar.

Opublikowano
18 godzin temu, Aranthor napisał:

I ponownie rozchodzi się o nieczytanie treści błędów. Przecież masz napisane:

Podczas dodawania nowego użytkownika (INSERT INTO users) musisz podać wartość kolumny waluta.

Ooo no zapomniałem że dodałem dodatkowe wartości w bazie danych dzięki mordeczko pomogłeś!

Już wszystko działa :D

Temat do zamknięcia.

Opublikowano
6 godzin temu, maxaz napisał:

Używanie md5 do hashowania haseł w 2018 nie jest zbyt dobrym pomysłem. Ponownie namówię Cię do skorzystania z wbudowanej w PHP funkcji hash -- jest ona bezpieczniejsza. Przy sprawdzaniu hasła, po prostu porównujesz hash z inputa z hashem w bazie danych.

Hmm no okey to w takim razie jak mam to przerobić żeby działało bo gdy używam teraz:

To jest ukryta treść, proszę

zamiast:

To jest ukryta treść, proszę

to już nie wyświetla żadnych komunikatów z błędami, ale wyskakuje komunikat z echo że nie można było się zarejestrować. No i niestety nie działa ;/

Opublikowano

Teraz gdy zastosowałem to:

To jest ukryta treść, proszę

wywala mi taki błąd:

Cytat

Warning: hash() expects at least 2 parameters, 1 given in 

dalszy kod wygląda tak: 

To jest ukryta treść, proszę

i próbowałem nawet zmieniać w VALUES $pass na $hashedPassword

kombinowałem z tym ale nadal ten sam błąd mi pokazuje ;/

Może to przez to że korzystam z wampp'a a wcześniej korzystałem z xampp'a i tam wszystko mi działało dobrze, może to przez to? bo nawet bez hash'owania hasła już nie wyskakuje mi ten Warning, tylko już sama wiadomość:

Cytat

Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika.

z ten linii:

To jest ukryta treść, proszę

 

Opublikowano
14 minut temu, TheTroy napisał:

wywala mi taki błąd:

Cytat

Treść błędu mówi sama za siebie, wystarczyło go przeczytać. Zresztą napisałem o tym 2 posty wyżej: funkcja hash potrzebuje dwóch argumentów:

To jest ukryta treść, proszę

 

Dobrze by było wyświetlić ostatni błąd MySQL, aby dowiedzieć się, dlaczego zapytanie nie zadziałało:

To jest ukryta treść, proszę

 

Opublikowano

Metoda passSalter nie jest statyczna — aby jej użyć, musisz utworzyć instancję klasy user.

Gdybyś wstawił kod klasy user, byłoby dużo łatwiej.

Poza tym, funkcja 

To jest ukryta treść, proszę
 nie jest wystarczająca do zabezpieczenia hasła?

Non omnis moriar.

Opublikowano
1 godzinę temu, maxaz napisał:

Metoda passSalter nie jest statyczna — aby jej użyć, musisz utworzyć instancję klasy user.

Gdybyś wstawił kod klasy user, byłoby dużo łatwiej.

Poza tym, funkcja 

To jest ukryta treść, proszę
 nie jest wystarczająca do zabezpieczenia hasła?

Mógłbyś mi w tym pomóc bo za bardzo nie wiem jak to zrobić zamiast tego:

To jest ukryta treść, proszę

czy też po user:: to zastosować?

Jakbyś mi z tym pomógł byłbym bardzo ci wdzięczny.

Opublikowano
5 godzin temu, Aranthor napisał:

Treść błędu mówi sama za siebie, wystarczyło go przeczytać. Zresztą napisałem o tym 2 posty wyżej: funkcja hash potrzebuje dwóch argumentów:

To jest ukryta treść, proszę

 

Dobrze by było wyświetlić ostatni błąd MySQL, aby dowiedzieć się, dlaczego zapytanie nie zadziałało:

To jest ukryta treść, proszę

 

Okey tera wywala taki oto błąd:

Cytat

Wystąpił błąd w zapytaniu i nie udało się zarejestrować użytkownika: Field 'waluta' doesn't have a default value

może to jest związane gdzieś z tym kodem? 

To jest ukryta treść, proszę

Ten powyższy kod jest inplementowany do rejestracji:

To jest ukryta treść, proszę

Może to ci w czymś pomoże.

Opublikowano

I ponownie rozchodzi się o nieczytanie treści błędów. Przecież masz napisane:

Cytat

Field 'waluta' doesn't have a default value

Podczas dodawania nowego użytkownika (INSERT INTO users) musisz podać wartość kolumny waluta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...