![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 20 Dołączył: 13.02.2010 Skąd: Kęty Ostrzeżenie: (0%) ![]() ![]() |
Słuchajcie, mam dosyć dziwny problem. Mianowicie robię panel klienta i wszystko jest zrobione od jakiegoś czasu. Nie testowałem skryptu logowania - do dzisiaj. gdy chcę się zalogować do bazy a hasło mam ustawione test1234 to zaloguje. Natomiast gdy wyłączę kompa i włączę jeszcze raz to hasło się zmienia (resetuje) na:
Kod d41d8cd98f00b204e9800998ecf8427e Z tego co się dowiedziałem u wujka Google oznacza to null lub inaczej 0 czy nawet brak znaków. Czym to może być spowodowane ? Tak wygląda struktura: password | varchar(32) | latin2_general_ci | Nie | None -------------------- Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A to nie jest przypadkiem tabela memory?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 20 Dołączył: 13.02.2010 Skąd: Kęty Ostrzeżenie: (0%) ![]() ![]() |
To jest tabela MYlSAM.
Edit: Dodam kod ... Kod session_start();
$login = $_POST["login"]; $haslo = $_POST["password"]; if ($_GET["login"]=="end") { session_unset(); session_destroy(); } else if ($login<>"" and $haslo<>"") { $password = md5($haslo); if ($connect) { if (mysql_select_db($mysql_baza)) { $wynik=mysql_query("SELECT * FROM clients WHERE login='$login' and password='$password'"); if (mysql_num_rows($wynik)==1) { $dane=mysql_fetch_array($wynik); $_SESSION["logged"]="yes"; $_SESSION["login"]=$dane["login"]; $_SESSION["email"]=$dane["email"]; ... } } else echo "Nie można połączyć się z bazą"; mysql_close($connect); } } Ten post edytował darophp 11.06.2010, 20:22:43 -------------------- Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 20 Dołączył: 13.02.2010 Skąd: Kęty Ostrzeżenie: (0%) ![]() ![]() |
Chyba zadziałało usunięcie. Ale teraz trzeba kliknąć dwa razy w butona aby wylogowało. No tyle mogą zrobić klienci
![]() -------------------- Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Samo session_destroy wystarczy. session_unset jest do czego innego, w dodatku - ma status deprecated.
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 20 Dołączył: 13.02.2010 Skąd: Kęty Ostrzeżenie: (0%) ![]() ![]() |
Coś jakby dalej jest problem...
![]() -------------------- Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
coś, to znaczy co?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 20 Dołączył: 13.02.2010 Skąd: Kęty Ostrzeżenie: (0%) ![]() ![]() |
Zobacz ze w polu password występuje 0 czyli nic a były hasła np ...cc18sd5... no jakoś tak się zaczynało
Ten post edytował darophp 13.06.2010, 20:39:08 -------------------- Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Zobacz ze w polu password występuje 0 czyli nic a były hasła np ...cc18sd5... no jakoś tak się zaczynało ![]() Ja tam widzę hashe, a nie 0. //Edit: Już wiem - są to hashe pustego ciągu. Czyli musisz gdzieś mieć UPDATE, który aktualizuje ci hasła (i to bez warunku). Innej opcji nie widzę. Ten post edytował phpion 14.06.2010, 13:32:20 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 20 Dołączył: 13.02.2010 Skąd: Kęty Ostrzeżenie: (0%) ![]() ![]() |
Nosz kur..cze Jak to poprawić ?
Kod if ($page=="settings") {
echo "<p>Twój login: ".$_SESSION["login"]."<br/>Twój email: ".$_SESSION["email"]."</p>"; $password = md5($_POST["password"]); if ($connect) { $wynik = mysql_query("UPDATE clients SET password='$password' WHERE login='{$_SESSION["login"]}'"); echo <<<FORM <form action="/index.php?page=settings" method="post"> <p>Hasło: <input type="password" name="password" /></p> <input type="submit" class="change" value=" " /> </form><div style="margin-top: 310px;"></div> FORM; } } Ten post edytował darophp 14.06.2010, 13:36:15 -------------------- Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
Pewnie $_POST['password'] masz puste. I pewnie wiem dlaczego: nie sprawdzasz czy formularz został wysłany tylko z pały aktualizujesz dane. Sprawdź czy formularz został wysłany (np. count($_POST) > 0) albo sprawdź samą długość $_POST['password'] > 0.
Ten post edytował phpion 14.06.2010, 13:38:38 |
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 309 Pomógł: 20 Dołączył: 13.02.2010 Skąd: Kęty Ostrzeżenie: (0%) ![]() ![]() |
No właśnie ... tylko jak to zrobić .. ?
Kod if ($page=="settings") {
echo "<p>Twój login: ".$_SESSION["login"]."<br/>Twój email: ".$_SESSION["email"]."</p>"; $password = md5($_POST["password"]); if ($connect) { $wynik = mysql_query("UPDATE clients SET password='$password' WHERE login='{$_SESSION["login"]}'"); if (empty($_POST["submit"])) { echo <<<FORM <form action="/index.php?page=settings" method="post"> <p>Hasło: <input type="password" name="password" /></p> <input type="submit" class="change" value=" " /> </form> FORM; } else { echo "Błąd. Nie zmieniono hasła."; } } echo "<div style=\"margin-top: 310px;\"></div>"; } -------------------- Fotografia, projektowanie stron WWW | web-coding.pl - HTML 5 i CSS 3 - już w krótce ;)
|
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
$_POST w formularzu zawsze będzie > 0, bo zaliczy submita choćby więc to żadne zabezpieczenie. Tu trzeba sprawdzać prędzej czy aby !empty( $_POST['password'] ) i od tego uzależniać także czy update jest czy nie. Oczywiście to tylko z grubsza zarysowane. Powinieneś od razu zabezpieczać form przed odświeżaniem
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Moderatorzy Postów: 6 072 Pomógł: 861 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza ![]() |
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
No tak... o Tym przypadku zapomniałem
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 05:15 |