Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Nie działająca zmiana hasła
Zyggmunt
post 18.05.2009, 20:35:11
Post #1





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 28.04.2009

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


Witam, mam kod, który ma zmieniać nazwę użytkownika lub hasła, jednak nie wiem czemu po jego "odpaleniu" nic się nie wyświetla. Skrypt pisałem z 20 min, ale siedzę nad nim już cały dzień i nie mam pojęcia co jest nie tak. Proszę o pomoc.

  1. <?php
  2.  
  3. if($_SESSION['inc'] > 0)
  4. {
  5. include("configs.php");
  6.  
  7. $baza = mysql_connect($host,$login,$haslo);
  8. mysql_select_db("kantor_elektral_cba_pl");
  9.  
  10. echo '<a href="edit.php?wyn=1">Edytuj nazwe uzytkownika</a>';
  11. echo '<a href="edit.php?wyn=2">Edytuj haslo</a>';
  12.  
  13. if($_GET['wyn'] == 2)
  14. {
  15. echo '<form action="edit.php" method="POST">';
  16.  
  17. echo '<label for="stare">Stare haslo</label>';
  18. echo '<input type="password" id="stare" name="stare"/>';
  19.  
  20. echo '<label for="nowe">Nowe haslo</label>';
  21. echo '<input type="password" id="nowe" name="nowe"/>';
  22.  
  23. echo '<label for="nowe">Powtorz nowe haslo</label>';
  24. echo '<input type="password" id="nowe2" name="nowe2"/>';
  25.  
  26. echo '<input type="submit" value="Wyslij"/>';
  27.  
  28. $query = "SELECT * FROM logowanie";
  29. $res = mysql_query($query);
  30. $row = mysql_fetch_array($res,MYSQL_NUM);
  31.  
  32. if($row[1] == $_POST['stare']
  33. {
  34. if($_POST['nowe'] == $_POST['nowe2'])
  35. {
  36. $zm = md5($_POST['nowe']);
  37. $query = "UPDATE logowanie SET haslo='$zm'";
  38. mysql_query($query);
  39. }
  40. else
  41. echo 'Wpisales rozne hasla';
  42. }
  43. else
  44. echo 'Podales nieprawidlowe stare haslo';
  45. }
  46.  
  47. if($_GET['wyn'] == 1)
  48. {
  49. echo '<form action="edit.php" method="POST">';
  50.  
  51. echo '<label for="stare">Stara nazwa</label>';
  52. echo '<input type="text" id="stare" name="stare"/>';
  53.  
  54. echo '<label for="nowe">Nowa nazwa</label>';
  55. echo '<input type="text" id="nowe" name="nowe"/>';
  56.  
  57. echo '<label for="nowe">Powtorz nowa nazwe</label>';
  58. echo '<input type="text" id="nowe2" name="nowe2"/>';
  59.  
  60. echo '<input type="submit" value="Wyslij"/>';
  61.  
  62.  
  63. if($row[0] == $_POST['stare']
  64. {
  65. if($_POST['nowe'] == $_POST['nowe2'])
  66. {
  67. $zm = $_POST['nowe'];
  68. $query = "UPDATE logowanie SET login='$zm'";
  69. mysql_query($query);
  70. }
  71. else
  72. echo 'Wpisales rozne nazwy uzytkownika';
  73. }
  74. else
  75. echo 'Podales nieprawidlowa stara nazwe uzytkownika';
  76. }
  77. }
  78. else
  79. {
  80. echo "<p>Prawdopodobnie podałeś złe hasło.</p>";
  81. echo '<a href="login.php">Wroc</a>';
  82. }
  83.  
  84. ?>


Ten post edytował nospor 19.05.2009, 08:13:26
Go to the top of the page
+Quote Post
blooregard
post 18.05.2009, 20:56:21
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




Przede wszystkim zastosuj sobie najprostszy mozliwy system debugowania, czyli wyświetlaj wartości wszystkich zmiennych, od których zależy spełnienie warunków w if-ach ($_SESSION['inc'] , $_GET['wyn'] itd.)
Najlepiej walnij sobie na końcu skryptu
  1. <?php
  2. var_dump($_SESSION);
  3. var_dump($_GET);
  4. var_dump($_POST);
  5. ?>


i obserwuj, czy zmienne, po których spodziewasz się pewnych wartości, faktycznie takie wartości przyjmują


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
Zyggmunt
post 19.05.2009, 08:06:21
Post #3





Grupa: Zarejestrowani
Postów: 53
Pomógł: 0
Dołączył: 28.04.2009

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


Problem w tym, że skrypt nie wyświetla nawet var_dump. Pokazuje się Parse Error w linii 36. Wie ktoś może co może być tam źle ?
Go to the top of the page
+Quote Post
erix
post 19.05.2009, 08:07:54
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. <?php
  2. if($row[1] == $_POST['stare']
  3. {
  4. ?>

Oj, głodnyś, głodnyś, gdzieś nawias podział? tongue.gif


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

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!
Go to the top of the page
+Quote Post
nospor
post 19.05.2009, 08:11:36
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Pokazuje się Parse Error w linii 36

po pierwsze: nie mogles od razu napisac w pierwszym poscie?
po drugie: jak wyskakuje ci blad to nalezy dokladnie podac jego tresc
po trzecie: kurcze, za parser ci robic nie bedziemy, a juz szczegolnie gdy masz podany dokladnie numer linii gdzie nalezy szukac bledu (w okolicach tej linii)

dostales od erixa gotowca....no nic, pozostaje mi jedynie przeniesc to z dzialu php.

ps: bledow masz oczywiscie wiecej, rozwiąza je tym razem sam kierujac sie komunikatem bledu


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pilsener
post 19.05.2009, 08:24:04
Post #6





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


Cytat
za parser ci robic nie bedziemy
- dokładnie, ja jeszcze dodam od siebie, że jak pracujesz z bazą to:

  1. <?php
  2. $rezultat = mysql_query($zapytanie);
  3. if(!$rezultat){
  4.   echo 'Uwaga, blad w zapytaniu: '.mysql_error();
  5. }
  6. ?>
- używaj mysql_error ZAWSZE, bo potem dodasz jakąś kolumnę, zmienisz kolejność itp. itd. a my będziemy się domyślać.
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: 2.07.2025 - 11:00