Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z formularzem zmiany hasła
fotex
post 13.12.2007, 16:38:47
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.12.2007

Ostrzeżenie: (0%)
-----


Witam

Problem jest tego typu:
Zrobiłem formularz zmiany hasła...oto on:

  1. <form action="zmienhaslo.php" method="post">
  2.  
  3.  
  4. Podaj swoja nazwe użytkownika:<br />
  5. <input name="user"><br>
  6. <input type="password" name="starehaslo"><br>
  7. <input type="password" name="nowehaslo"><br>
  8. <input type="password" name="powtorzhaslo"><br>
  9.  
  10.  
  11. <input type="submit" name="submit" value="Zmień hasło">
  12.  
  13. </form>


i skrypt php sprawdzający czy wartość pola "user" istnieje w bazie oraz czy "starehasło" równiez.Nastepnie sa pola "nowehaslo" oraz "powtorzhaslo". i tu pojawia sie problem. skrypt zostaje wykonany pomimo tego iz pola "nowehaslo" i "powtorzhaslo" sa różne nadpisujac hasło w bazie tym z pola "nowehaslo"
Oto kod php:
  1. <?php
  2. $polaczenie = @mysql_connect('localhost', 'myszcz01_aukcja', 'komiszke') or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());
  3. $db = @mysql_select_db('myszcz01_aukcja', $polaczenie) or die ('Nie mogę połączyć się z bazą danych. Błąd: '.mysql_error());
  4.  
  5.  
  6. $wynik = mysql_query("SELECT * FROM lance_buyers WHERE buyer_username='".$_POST[user]."' AND buyer_password='".md5($_POST[starehaslo])."';") or die('Błąd zapytania'); 
  7.  
  8. if (mysql_num_rows($wynik) == 1){
  9.  
  10.  
  11. if ($_post[nowehaslo] == $_post[powtorzhaslo]){
  12.  
  13. $new_pwdmd = md5($_POST[nowehaslo]);
  14.  
  15. $update = mysql_query("UPDATE lance_buyers SET buyer_password='".$new_pwdmd."' WHERE buyer_username='".$_POST[user]."';");
  16.  
  17. echo "hasło zostało zmienione";
  18.  
  19. }else{
  20.  
  21. echo "pola nowe haslo i powtórz haslo nie sa identyczne";
  22. }
  23.  
  24.  
  25. }
  26. ?>


Jak to powinno w takim razie poprawnie wygladac?Prosze o pomoc...

Ps: Skrypt nie generuje błędów wiec składniowo jest ok aczkolwiek z logiką coś jest nie tak


--------------------
Pierwsze polskie forum wsparcia dla skryptu Dolphin
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
kszychu
post 13.12.2007, 16:51:27
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


Pisze się $_POST a nie $_post.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
fotex
post 13.12.2007, 16:55:27
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.12.2007

Ostrzeżenie: (0%)
-----


co racja to racja ...ale dlaczego w takim razie skrypt nie zwrócił błędu?


--------------------
Pierwsze polskie forum wsparcia dla skryptu Dolphin
Go to the top of the page
+Quote Post
kszychu
post 13.12.2007, 16:56:42
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


bo false == false smile.gif


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
Lion_87
post 13.12.2007, 17:09:15
Post #5





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


a może!!!

if ($wynik == 1 && $_POST[nowehaslo] == $_POST[powtorzhaslo]){

//////tu kod

echo "hasło zostało zmienione";

}else{

echo "pola nowe haslo i powtórz haslo nie sa identyczne";
}

Ten post edytował Lion_87 13.12.2007, 17:32:43
Go to the top of the page
+Quote Post
fotex
post 13.12.2007, 17:20:19
Post #6





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.12.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $polaczenie = @mysql_connect('localhost', 'myszcz01_aukcja', 'komiszke') or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());
  3. $db = @mysql_select_db('myszcz01_aukcja', $polaczenie) or die ('Nie mogę połączyć się z bazą danych. Błąd: '.mysql_error());
  4.  
  5.  
  6. $wynik = mysql_query("SELECT * FROM lance_buyers WHERE buyer_username='".$_POST[user]."' AND buyer_password='".md5($_POST[starehaslo])."';") or die('Błąd zapytania'); 
  7.  
  8. if (mysql_num_rows($wynik) == 1){
  9. }else{
  10. echo "nazwa urzytkownika lub aktualne hasło sa niepoprawne ";
  11.  
  12. if ($_POST[nowehaslo] == $_POST[powtorzhaslo]){
  13.  
  14. $new_pwdmd = md5($_POST[nowehaslo]);
  15.  
  16. $update = mysql_query("UPDATE lance_buyers SET buyer_password='".$new_pwdmd."' WHERE buyer_username='".$_POST[user]."';");
  17.  
  18. echo "hasło zostało zmienione";
  19.  
  20. }else{
  21.  
  22. echo "Pola nowe haslo i powtórz haslo nie sa identyczne";
  23. }
  24.  
  25.  
  26. }
  27. ?>


cos jest teraz nie tak z tym skryptem bo jesli nazwa usera i aktualne hasło sa nieprawidłowe a hasła nowe i powtórzone sa identyczne to wywala cos takiego "nazwa urzytkownika lub aktualne hasło sa niepoprawne hasło zostało zmienione":)

Ten post edytował fotex 13.12.2007, 17:21:35


--------------------
Pierwsze polskie forum wsparcia dla skryptu Dolphin
Go to the top of the page
+Quote Post
Lion_87
post 13.12.2007, 17:32:17
Post #7





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Po co tak mieszasz zrób tak jak napisałem wyżej:)
Go to the top of the page
+Quote Post
fotex
post 13.12.2007, 17:34:56
Post #8





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.12.2007

Ostrzeżenie: (0%)
-----


To znaczy jak bo teraz to juz nic nie rozumiem.Prosze o wytłumaczenie


--------------------
Pierwsze polskie forum wsparcia dla skryptu Dolphin
Go to the top of the page
+Quote Post
Lion_87
post 13.12.2007, 17:40:27
Post #9





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

Ostrzeżenie: (10%)
X----


Cytat(fotex @ 13.12.2007, 17:34:56 ) *
To znaczy jak bo teraz to juz nic nie rozumiem.Prosze o wytłumaczenie


A co ja pisze po Chińsku:)

<?php
$polaczenie = @mysql_connect('localhost', 'myszcz01_aukcja', 'komiszke') or die('Brak połączenia z serwerem mysql. Błąd: '.mysql_error());
$db = @mysql_select_db('myszcz01_aukcja', $polaczenie) or die ('Nie mogę połączyć się z bazą danych. Błąd: '.mysql_error());


$wynik = mysql_query("SELECT * FROM lance_buyers WHERE buyer_username='".$_POST[user]."' AND buyer_password='".md5($_POST[starehaslo])."';") or die('Błąd zapytania');

if (mysql_num_rows($wynik) == 1 && $_POST[nowehaslo] == $_POST[powtorzhaslo]){

$new_pwdmd = md5($_POST[nowehaslo]);

$update = mysql_query("UPDATE lance_buyers SET buyer_password='".$new_pwdmd."' WHERE buyer_username='".$_POST[user]."';");


echo "hasło zostało zmienione";

}else{

echo "pola nowe haslo i powtórz haslo nie sa identyczne";
}
?>


możesz jeszcze dwa if dodać
1) gdy nie ma takiego usera
2) gdy hasło jest złe

Ten post edytował Lion_87 13.12.2007, 17:41:55
Go to the top of the page
+Quote Post
fotex
post 13.12.2007, 17:47:51
Post #10





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 8.12.2007

Ostrzeżenie: (0%)
-----


Dziekuje wam za pomoc teraz jest ok...pozdrawiam


--------------------
Pierwsze polskie forum wsparcia dla skryptu Dolphin
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:49