Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]aktualizacja bazy - jeżeli puste to nie zmieniaj
Forti
post 17.06.2014, 14:41:58
Post #1





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Witam

Mam skrypt, dzięki którym użytkownik aktualizuje sobie profil.

  1. <?php
  2. if($profile['login'] == $_SESSION['login']){
  3.  
  4.  
  5.  
  6. if(isset($_POST['aktualizuj'])){
  7.  
  8.  
  9.  
  10.  
  11. $dodaj = $baza->prepare("UPDATE users SET achiv = :achiv, avatar = :avatar, sygnatura = :sygnatura, o_sobie = :osobie WHERE login = :login");
  12. $dodaj->bindValue(":achiv", $_POST['achiv'], PDO::PARAM_INT);
  13. $dodaj->bindValue(":avatar", $_POST['avatar'], PDO::PARAM_STR);
  14. $dodaj->bindValue(":sygnatura", $_POST['sygnatura'], PDO::PARAM_STR);
  15. $dodaj->bindValue(":osobie", $_POST['osobie'], PDO::PARAM_STR);
  16. $dodaj->bindValue(":login", $_SESSION['login'], PDO::PARAM_STR);
  17. $dodaj->execute();
  18. echo "Dane zostały zaaktualizowane!";
  19. }
  20.  
  21. else {
  22. user::upProfil();
  23. }
  24. }
  25.  
  26. ?>



obiekt upProfil() po prostu zwraca formularz w klasie user (uczę się robić jak najwięcej "obiektowo" ale straszny bałagan mi wychodzi.. smile.gif

  1. function upProfil(){
  2. echo '
  3. <form method="post" action="">
  4. <label for="avatar">Avatar (55x55, link http):</label>
  5. <input type="text" name="avatar" maxlength="50" id="avatar" />
  6.  
  7. <label for="sygnatura">Sygnatura (100znaków):</label>
  8. <input type="text" name="sygnatura" maxlength="100" id="sygnatura" />
  9.  
  10. <label for="osobie">O sobie (200 znaków):</label>
  11. <input type="text" name="osobie" maxlength="200" id="osobie" />
  12.  
  13. <label for="achiv">Achievment:</label>
  14. <input type="text" name="achiv" maxlength="4" id="achiv" />
  15.  
  16.  
  17.  
  18. <input type="submit" name="aktualizuj" value="Aktualizuj" />
  19. </form>';
  20. }



I teraz problem:

Użytkownik wypełnia sobie tylko jedno pole - wysyła się prawidłowo do bazy, a pozostałe pola, które są puste nadpisuje w bazie jako wartości puste. Da się to zrobić jakoś prosto czy muszę zrobić odzielne warunki na każde z pól i sprawdzać czy puste?


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 11:23