Witam. Posiadam kod formularza, którego fragment jest pokazany poniżej.
Kod w pliku „index.html”:
<form method='POST' action="wprowadzenie_zapyt_do_bazy.php">
(…)
<label for="opis_czesci">nazwa / opis</label>
<input type="text" id="opis_czesci" name="opis_czesci" maxlength= 30 autofocus required ><br />
(…)
</form>
Dane z formularza są sprawdzane w pliku „wprowadzenie_zapyt_do_bazy.php” i wypadku ewentualnych błędów formularz jest wyświetlany ponownie w celu wprowadzenia poprawek przez użytkownika. Aby użytkownik nie musiał wypełniać całego formularza od początku wprowadzone przez niego dane są pozostawione w formularzu i wyświetla się jedynie komunikat o konieczności wprowadzenia poprawek. Kod zamieszczony poniżej.
Fragment kodu w pliku „wprowadzenie_zapyt_do_bazy.php”
<form method='POST' action="wprowadzenie_zapyt_do_bazy.php">
<label for="producent_maszyny">producent maszyny</label>
(…)
<label for="opis_czesci">nazwa / opis</label>
<input type="text" id="opis_czesci" name="opis_czesci" maxlength= 30 value=<?= htmlspecialchars($czesc['opis_czesci']) ?> ><br />
(…)
</form>
Niestety we wprowadzonych danych w pliku „index.html” i ich wyświetleniu w „wprowadzenie_zapyt_do_bazy.php”, w polach formularz znikają teksty wprowadzone po spacji. Np. kiedy wpisano „De Walt” po ponownym wyświetleniu zostaje „De”. Jeżeli użytkownik nie zauważy błędu, tekst w takiej postaci jest wpisywany do bazy.
Oczywiście w wypadku poprawnego wpisanie danych w pliku „index.html” dane są od razu wprowadzane do bazy i wszystko jest Ok.
Zmieniałem htmlspecialchars($czesc['opis_czesci'])
na strip_tags($czesc['opis_czesci'])
lub pozostawiałem samo ($czesc['opis_czesci']). Bez zmian.
Czy ktoś miałby jakieś sugestie?