Voor het invoegen van nieuws items op mijn website gebruik ik een formulier
dat elk element valideert. Is de inhoud van een veld niet naar wens ingevuld
dan zal er geen record in de bijhorende MySQL databank geduwt worden.
Wat er wel gebeurt:
1) elke variabele van het formulier wordt in de $_SESSION array geduwt.
2) via een header(Location: ...) instructie wordt er teruggegaan naar het formulier.
3) met volgende code vul ik dan elk veldje terug in met de oude inhoud (omdat alles opnieuw typen toch wel vrij vervelend is denk ik
)
het invullen gebeurt met volgende code (deze is quasi identiek voor elk veld dus paste ik het maar 1x):
Dit werkt prima. Het rare is echter dat als ik op de reset knop duw van dit formuliertje, de waarden opnieuw uit de sessie worden gehaald (althans dat denk ik toch) en dus weer opnieuw ingevuld in de verschillende velden.
Nochtans doe ik meteen na het inlezen van de $_SESSION array een session_unregister() instructie.
De reset knop wordt met volgende code aangemaakt:
Een work-around voor het probleem is het volgende:
- ik maak van de reset knop een submit knopje
- in de verwerkende php file kijk ik eerst op welke knop er geduwt om
vervolgens al dan niet met een gewone header(Location:...) instructie meteen
terug te keren zonder in $_SESSION te schrijven.
Deze oplossing is bruikbaar ware het niet dat ik met een javascriptje
verplicht alle velden van het formulier in te vullen. Hierdoor moet
je dus elk veld invullen voor je kan resetten. Dat is gewoon niet netjes
(en dit systeem is uiteindelijk niet voor mij bedoeld maar voor het bedrijf
waar ik stage loop).
Zie ik hier iets over het hoofd? Overigens is heel dit verhaal enkel waar als
er een foutmelding moet getoont worden aan de gebruiker,
voor de rest werkt het formulier (en reset knop) prima in normale omstandigheden.
dat elk element valideert. Is de inhoud van een veld niet naar wens ingevuld
dan zal er geen record in de bijhorende MySQL databank geduwt worden.
Wat er wel gebeurt:
1) elke variabele van het formulier wordt in de $_SESSION array geduwt.
2) via een header(Location: ...) instructie wordt er teruggegaan naar het formulier.
3) met volgende code vul ik dan elk veldje terug in met de oude inhoud (omdat alles opnieuw typen toch wel vrij vervelend is denk ik
het invullen gebeurt met volgende code (deze is quasi identiek voor elk veld dus paste ik het maar 1x):
PHP:
1
2
3
4
5
6
7
8
9
| // inschrijvingsveld $c = ""; if(isset($_SESSION['contact'])) { $c = $_SESSION['contact']; session_unregister('contact'); } print("Contact adres: <INPUT type=\"text\" name=\"contact\" size=\"39\" value=\"" . $c "\">"); |
Dit werkt prima. Het rare is echter dat als ik op de reset knop duw van dit formuliertje, de waarden opnieuw uit de sessie worden gehaald (althans dat denk ik toch) en dus weer opnieuw ingevuld in de verschillende velden.
Nochtans doe ik meteen na het inlezen van de $_SESSION array een session_unregister() instructie.
De reset knop wordt met volgende code aangemaakt:
PHP:
1
| print(<input type=\"reset\" class=\"button\" value=\"wissen\">); |
Een work-around voor het probleem is het volgende:
- ik maak van de reset knop een submit knopje
- in de verwerkende php file kijk ik eerst op welke knop er geduwt om
vervolgens al dan niet met een gewone header(Location:...) instructie meteen
terug te keren zonder in $_SESSION te schrijven.
Deze oplossing is bruikbaar ware het niet dat ik met een javascriptje
verplicht alle velden van het formulier in te vullen. Hierdoor moet
je dus elk veld invullen voor je kan resetten. Dat is gewoon niet netjes
(en dit systeem is uiteindelijk niet voor mij bedoeld maar voor het bedrijf
waar ik stage loop).
Zie ik hier iets over het hoofd? Overigens is heel dit verhaal enkel waar als
er een foutmelding moet getoont worden aan de gebruiker,
voor de rest werkt het formulier (en reset knop) prima in normale omstandigheden.
Clowns to the left of me, Jokers to the right