Mam skrypt, dzięki którym użytkownik aktualizuje sobie profil.
<?php if($profile['login'] == $_SESSION['login']){ $dodaj = $baza->prepare("UPDATE users SET achiv = :achiv, avatar = :avatar, sygnatura = :sygnatura, o_sobie = :osobie WHERE login = :login"); $dodaj->bindValue(":achiv", $_POST['achiv'], PDO::PARAM_INT); $dodaj->bindValue(":avatar", $_POST['avatar'], PDO::PARAM_STR); $dodaj->bindValue(":sygnatura", $_POST['sygnatura'], PDO::PARAM_STR); $dodaj->bindValue(":osobie", $_POST['osobie'], PDO::PARAM_STR); $dodaj->bindValue(":login", $_SESSION['login'], PDO::PARAM_STR); $dodaj->execute(); } else { user::upProfil(); } } ?>
obiekt upProfil() po prostu zwraca formularz w klasie user (uczę się robić jak najwięcej "obiektowo" ale straszny bałagan mi wychodzi..

function upProfil(){ echo ' <form method="post" action=""> <label for="avatar">Avatar (55x55, link http):</label> <input type="text" name="avatar" maxlength="50" id="avatar" /> <label for="sygnatura">Sygnatura (100znaków):</label> <input type="text" name="sygnatura" maxlength="100" id="sygnatura" /> <label for="osobie">O sobie (200 znaków):</label> <input type="text" name="osobie" maxlength="200" id="osobie" /> <label for="achiv">Achievment:</label> <input type="text" name="achiv" maxlength="4" id="achiv" /> <input type="submit" name="aktualizuj" value="Aktualizuj" /> </form>'; }
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?