Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> podmienianie danych przez zalogowanego formularzem
Th0e
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Witam. Chciałbym, by osoba zalogowana mogła zmienić swoje hasło, jednak nie mogę się z tym uporać. Po wysłaniu danych tworzy się nowy wiersz w tabeli, w którym jest zawarte wprowadzone nowe hasło.

Oto kod:

  1. <h3>zmień swoje hasło</h3>
  2. <form method="POST">
  3. <input type="text" name="nowehaslo">
  4. <input type="submit"></form>
  5.  
  6. <?php
  7.  
  8. $nowehaslo = $_POST['nowehaslo'];
  9.  
  10. mysql_query("INSERT INTO `uzytkownicy` (haslo)VALUES('$nowehaslo')") or die("BŁĄD");
  11.  
  12. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


A nie widzisz czemu tak się dzieje? Masz w indexie:

  1. <?php
  2.  
  3. $nowehaslo = $_POST['nowehaslo'];
  4.  
  5. mysql_query("UPDATE `uzytkownicy` SET haslo='$nowehaslo' WHERE nick='$nick' ")or die(mysql_error());
  6.  
  7. ?>


więc zapytanie wykonuje się za KAŻDYM RAZEM gdy odpalasz index.php, jednak przed zalogowaniem zmienna $nick jest pusta, więc nie znajduje takiego rekordu w bazie do aktualizacji, po zalogowaniu w zmiennej $nick jest już prawidłowy nick z bazy, ale $nowehaslo jest ciągle puste, więc zapytanie czyści komórkę z hasłem...


Go to the top of the page
+Quote Post
Th0e
post
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 0
Dołączył: 16.09.2012

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


Cytat(b4rt3kk @ 3.10.2012, 09:54:30 ) *
A nie widzisz czemu tak się dzieje? Masz w indexie:

  1. <?php
  2.  
  3. $nowehaslo = $_POST['nowehaslo'];
  4.  
  5. mysql_query("UPDATE `uzytkownicy` SET haslo='$nowehaslo' WHERE nick='$nick' ")or die(mysql_error());
  6.  
  7. ?>


więc zapytanie wykonuje się za KAŻDYM RAZEM gdy odpalasz index.php, jednak przed zalogowaniem zmienna $nick jest pusta, więc nie znajduje takiego rekordu w bazie do aktualizacji, po zalogowaniu w zmiennej $nick jest już prawidłowy nick z bazy, ale $nowehaslo jest ciągle puste, więc zapytanie czyści komórkę z hasłem...


dzięki (IMG:style_emoticons/default/smile.gif) a już miałem porzucić ten skrypt (IMG:style_emoticons/default/snitch.gif)

Przeprawiłem to na takie coś:
  1. <h3>zmień swoje hasło</h3>
  2. <form method="POST">
  3. <input type="text" name="nowehaslo">
  4. <input type="submit"></form>
  5.  
  6. <?php
  7.  
  8. $nowehaslo = $_POST['nowehaslo'];
  9.  
  10. if(!empty ($nowehaslo)){
  11.  
  12. mysql_query("UPDATE `uzytkownicy` SET haslo='$nowehaslo' WHERE nick='$nick' ")or die(mysql_error());
  13. }
  14. else {
  15. echo "zalecane jest ustawienie trudnego hasła.";
  16. }
  17. ?>


i wszytko działa jak powinno (IMG:style_emoticons/default/smile.gif)

------------

Mam jeszcze kilka drobnych pytań. Dał by ktoś gotowe komendy na pobieranie danych z bazy do tablicy zmiennej globalnej SESSION, oraz na wysyłanie?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 20:05