Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][MySQL][PHP][MYSQL & PHP] Zmiana avatara pomocy!
MefjuU
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 25.04.2018

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


Witam otóż mam problem z bazą danych, stosowałem poniższy kod aby zmienić avatara poprzez przyciski INPUT RADIO ale gdy daję zmień to nic się nie dzieje. Błąd jest w kodzie który zmienia wartość w bazie (UPDATE).

  1. <?php
  2.  
  3. require './site/header.php'; // Dołącz początkowy kod HTML
  4. require './config/config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą
  5. require_once './config/user.class.php';
  6.  
  7.  
  8. IF (!user::isLogged()) {
  9. echo '<p class="error">Przykro nam, ale ta strona jest dostępna tylko dla zalogowanych użytkowników.</p>';
  10. }
  11.  
  12. else {
  13. @$id = $_GET['id'];
  14. $profile = user::getDataById ($id);
  15. /**
  16. * Sprawdź czy formularz został wysłany
  17. */
  18. IF (@$_POST['send'] == 1) {
  19. // Zabezpiecz dane z formularza przed kodem HTML i ewentualnymi atakami SQL Injection
  20. @$avatar = mysql_real_escape_string(htmlspecialchars($_POST['avatar']));
  21.  
  22. $errors = ''; // Zmienna przechowująca listę błędów które wystąpiły
  23.  
  24.  
  25. // Sprawdź, czy nie wystąpiły błędy
  26. IF (!$avatar ) $errors .= '- Musisz wybrać avatara aby go zmienić.<br />';
  27.  
  28. /**
  29. * Jeśli wystąpiły jakieś błędy, to je pokaż
  30. */
  31. IF ($errors != '') {
  32. echo '<p class="error">Zmiana avatara nie powiodła się, popraw następujące błędy:<br />'.$errors.'</p><br/>';
  33. }
  34.  
  35. /**
  36. * Jeśli nie ma żadnych błędów - kontynuuj rejestrację
  37. */
  38. else {
  39.  
  40. // Szukanie czy użytkownik istnieje
  41. $userExist = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM users WHERE id = '$id'"));
  42. // Zapisz dane do bazy
  43. mysql_query("UPDATE users SET avatar='".$avatar."' WHERE id = '$profile'") OR die ('<p class="error">Wystąpił błąd podczas zmiany avatara.</p>');
  44. // TUTAJ WŁAŚNIE NIE WIEM JAK TO ZROBIĆ ^
  45.  
  46.  
  47. echo '<p class="success">Avatar został zmieniont.</p><br/>';
  48. }
  49. }
  50. }
  51. ?>


a tak wygląda do tego formularz HTML (zdefiniowałem tu własny styl taki jak <p4> itp..):
  1. <p4>Zmiana avatara</p4>
  2. <div class="hr"></div>
  3. <p>Wybierz jeden z dostępnych avatarów.</p><br/>
  4. <form method="post" action="">
  5. <table style="width: 100%; text-align: center; margin-top: 10px; margin-bottom: 20px;">
  6. <tr style="height: 64px;">
  7. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar" value="default-avatar.png"><br/><img src="./avatars/default-avatar.png"></img></input></td>
  8. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar" value="avatar1.png"><br/><img src="./avatars/avatar1.png"></img></input></td>
  9. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar"><br/><img src="./avatars/default-avatar.png"></img></input></td>
  10. </tr>
  11. <tr style="height: 64px;">
  12. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar"><br/><img src="./avatars/default-avatar.png"></img></input></td>
  13. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar"><br/><img src="./avatars/default-avatar.png"></img></input></td>
  14. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar"><br/><img src="./avatars/default-avatar.png"></img></input></td>
  15. </tr>
  16. <tr style="height: 64px;">
  17. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar"><br/><img src="./avatars/default-avatar.png"></img></input></td>
  18. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar"><br/><img src="./avatars/default-avatar.png"></img></input></td>
  19. <td><input style="box-shadow: inset 0 0px 0px 0 transparent;" type="radio" name="avatar"><br/><img src="./avatars/default-avatar.png"></img></input></td>
  20. </tr>
  21. </table>
  22. <input type="hidden" name="send" value="1" />
  23. <input type="submit" class="sub" style="margin-left: 38.5%; text-align: center; text-shadow: 0 -1px 1px rgba(0,0,0,0.4);" value="Wybierz"></input>
  24. </form>



wcześniej zamiast:
  1. // Zapisz dane do bazy
  2. mysql_query("UPDATE users SET avatar='".$avatar."' WHERE id = '$profile'") OR die ('<p class="error">Wystąpił błąd podczas zmiany avatara.</p>');


stosowałem poniższy kod ale on zamiast zmieniać danemu użytkownikowi avatar to tworzył tak jakby nowego (oznaczyłem to na screenie bazy danych na czerwono) który miał już dobrze wypełnione pole avatar. Ale nie o to mi chodzi. To ma podmieniać a nie tworzyć (IMG:style_emoticons/default/wink.gif)

  1. // Zapisz dane do bazy
  2. mysql_query("INSERT INTO users (avatar) VALUES('$avatar');") OR die ('<p class="error">Wystąpił błąd podczas zmiany avatara.</p>');


Dodam jeszcze screen bazy danych:
http://ifotos.pl/z/qnanrep << LINK 1
https://ibb.co/gs04Rx << LINK 2


(JAKBY LINK DO OBRAZU NIE DZIAŁAŁ TO TUTAJ MOŻESZ GO POBRAĆ)
http://hostuje.net/file.php?id=b5090eab152...ec86d290abf3166
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: 22.08.2025 - 20:29