Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Nie aktualizuje danych
Forum PHP.pl > Forum > Przedszkole
mslbn
Witam
Dostalem na infromatyce zadanie.
Mam zrobic stronkę "cateringu"
gdzie na stronie głównej bedzie wyswietlac menu
zrobiem baze danych, wszystko ladnie wyswietla

Mam zrobic do tego panel admina tak aby mozna bylo je aktualizowac
Panel jest, plik do edycji jest. Wyswietla w textboxach dane ale ich nie aktualizuje
Znalazlem gotowca na internecie, troche go przerobilem
Wiem ze jest tu duzo nie potrzebnych rzeczy. Ale bede wdzieczny jezeli ktos wskaze mi co poprawic aby zaczelo modyfikowac dane.

  1. <?php
  2. include 'config.php';
  3. db_connect();
  4.  
  5. check_login();
  6.  
  7. $user_data = get_user_data();
  8.  
  9. // jeśli zostanie naciśnięty przycisk "Edytuj profil"
  10. if(isset($_POST['email'])) {
  11. // filtrujemy dane
  12. $_POST['poniedzialek'] = clear($_POST['poniedzialek']);
  13. $_POST['wtorek'] = clear($_POST['wtorek']);
  14. $_POST['sroda'] = clear($_POST['sroda']);
  15. $_POST['sroda'] = clear($_POST['sroda']);
  16. $_POST['czwartek'] = clear($_POST['czwartek']);
  17. $_POST['piatek'] = clear($_POST['piatek']);
  18. $_POST['website'] = clear($_POST['website']);
  19. $_POST['from'] = clear($_POST['from']);
  20. $_POST['new_password'] = clear($_POST['new_password']);
  21. $_POST['new_password2'] = clear($_POST['new_password2']);
  22. $_POST['password'] = clear($_POST['password']);
  23. $_POST['email'] = clear($_POST['email']);
  24.  
  25. // zmienne tymczasowe na treść błędu
  26. $err = '';
  27. // i zapytanie sql
  28. $up2 = '';
  29.  
  30. // jeśli zostanie podane nowe hasło lub inny email
  31. if(!empty($_POST['new_password']) || $_POST['email'] != $user_data['user_email']) {
  32. // sprawdzamy czy zostało podane aktualne hasło
  33. if(empty($_POST['password'])) {
  34. $err = '<p>Jeśli chcesz zmienić hasło lub adres email musisz podać aktualne hasło.</p>';
  35. // jeśli zostało podane to sprawdzamy czy jest poprawne
  36. } elseif(codepass($_POST['password']) != $user_data['user_password']) {
  37. $err = '<p>Podane aktualne hasło jest nieprawidłowe.</p>';
  38. } else {
  39. // jeśli wszystko jest ok...
  40.  
  41. // sprawdzamy czy user chce zmienić hasło
  42. if(!empty($_POST['new_password'])) {
  43. // jeśli podane dwa hasła są różne to wyświetlamy błąd
  44. if($_POST['new_password'] != $_POST['new_password2']) {
  45. $err = '<p>Podane hasła nie są takie same.</p>';
  46. // jeśli wszystko jest ok, dopisujemy do zmiennej tymczasowej zapytanie do zaktualizowania hasła
  47. } else {
  48. $up2.= ", `user_password` = '".codepass($_POST['new_password'])."'";
  49. }
  50. }
  51. // sprawdzamy czy user chce zmienić email (czy ten podany jest różny od aktualnego)
  52. if($_POST['email'] != $user_data['user_email']) {
  53. // sprawdzamy czy podany email jest prawidłowy
  54. if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false) {
  55. $err = '<p>Podany email jest nieprawidłowy.</p>';
  56. } else {
  57. // sprawdzamy czy istnieje taki email w bazie przy czym omijamy usera który jest zalogowany
  58. $result = mysql_query("SELECT Count(user_id) FROM `users` WHERE `user_id` != '{$user_data['user_id']}' AND `user_email` = '{$_POST['email']}'");
  59. $row = mysql_fetch_row($result);
  60. if($row[0] > 0) {
  61. $err = '<p>Już istnieje użytkownik z takim loginem lub adresem e-mail.</p>';
  62. } else {
  63. // jeśli wszystko jest ok to dopisujemy zapytanie do zaktualizowania emaila
  64. $up2.= ", `user_email` = '{$_POST['email']}'";
  65. }
  66. }
  67. }
  68. }
  69. }
  70.  
  71. // jeśli są jakieś błędy z powyższych działań to je wyświetlamy
  72. if(!empty($err)) {
  73. echo $err;
  74. } else {
  75. // jeśli nie ma błędów to wykonujemy zapytanie dopisując te na aktualizacje hasła oraz emaila - $up2
  76. $result = mysql_query("UPDATE `users` SET `poniedzialek` = '{$_POST['poniedzialek']}', `wtorek` = '{$_POST['wtorek']}', `wtorek` = '{$_POST['wtorek']}', `sroda` = '{$_POST['sroda']}', `czwartek` = '{$_POST['czwartek']}', `piatek` = '{$_POST['piatek']}'{$up2} WHERE `user_id` = '{$user_data['user_id']}'");
  77. if($result) {
  78. // jeśli zapytanie się wykonało to wyświetlamy komunikat...
  79. echo '<p>Twój profil został poprawnie zaktualizowany.</p>';
  80. // i pobieramy od nowa dane usera aby w poniższym formularze się one zaktualizowały
  81. $user_data = get_user_data();
  82. } else {
  83. // jeśli zapytanie będzie błędne to wyświetlamy treść errora
  84. echo '<p>Niestety wystąpił błąd:<br>'.mysql_error().'</p>';
  85. }
  86. }
  87. }
  88.  
  89. // wyświetlamy prosty formularz
  90. echo '<form method="post" action="editprofile.php">
  91. <p>
  92. Poniedzialek:<br>
  93. <input type="text" value="'.$user_data['poniedzialek'].'">
  94.  
  95. </p>
  96. <p>
  97. Wtorek:<br>
  98. <input type="text" value="'.$user_data['wtorek'].'">
  99.  
  100. </p>
  101. <p>
  102. Środa:<br>
  103. <input type="text" value="'.$user_data['sroda'].'">
  104.  
  105. </p>
  106. <p>
  107. Czwatek:<br>
  108. <input type="text" value="'.$user_data['czwartek'].'">
  109.  
  110. </p>
  111. <p>
  112. Piatek:<br>
  113. <input type="text" value="'.$user_data['piatek'].'">
  114.  
  115. </p>
  116. <p>
  117. <input type="submit" value="Edytuj profil">
  118. </p>
  119. </form>';
  120.  
  121. db_close();
  122. ?>



Mam to na jutro, a zostało tylko to do zrobienia. Pozdrawiam i z gory dziekuje
nospor
Temat: Jak poprawnie zadac pytanie
Masz tam pare cennych wskazowek
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.