Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Nie działająca zmiana hasła
Forum PHP.pl > Forum > Przedszkole
Zyggmunt
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. ?>
blooregard
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ą
Zyggmunt
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 ?
erix
  1. <?php
  2. if($row[1] == $_POST['stare']
  3. {
  4. ?>

Oj, głodnyś, głodnyś, gdzieś nawias podział? tongue.gif
nospor
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
Pilsener
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ć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.