Archief - Manier om forms in een popup af te handelen samen met php (of asp, ...)

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Mulle

Legacy Member
Hey,


Ik heb enkele vraagjes over hoe je best met forms werkt en deze moet afhandelen in een webpagina. Ik ben vooral gewend om dit te maken in C# (windows forms, voor het werk) en niet in een webpagina (dit is als hobby). Daarom vraag ik de mening van personen die daar wel meer ervaring in hebben.

Ik zal eens kort samenvatten hoe ik het nu aanpak en wat mijn problemen zijn.
- Ik gebruik php & mysql om een dynamische website te kunnen maken, momenteel heb ik mijn eigen php-framework (al bijna een jaar mee bezig geweest) gemaakt.
- Om data toe te voegen aan de site, toon ik een form in een popup. De form wordt in een iframe geopend omdat na een submit alle inputs gecontroleerd worden door PHP en opnieuw de form wordt opgebouwd.
- Na een succesvolle submit sluit deze popup en wordt de inhoud van de site aangepast met behulp van jquery.
- Na een niet succesvolle submit blijft de popup staan en toont wat foutief is.

Is dit een goeie manier om dit te doen?

Ik had liever geen iframe gebruikt, maar dat lukt mij niet zonder de volledige pagina te verversen en niet enkel de popup. Ik had ook gedacht om de inputs te controleren met behulp van javascript, maar ik beschik niet over alle data (sommige zaken worden gecontroleerd met wat in database staat) + de controle is gemakkelijker te manipuleren.


Hoe doen jullie dit en wat kan ik verbeteren?


Kennis van php is redelijk (eerste kennismaking rond 2002), ik gebruik dit enkel als hobby. Ik heb ook basis kennis van html, css, javascript, jquery. Enkel het design (layout) ben ik heel slecht in.



Alvast bedankt voor advies.


Mvg,
Tom

GoofyStoefy

Legacy Member
Ik zou dat popup idee weg doen. Ik denk dat dat niet zo mooi overkomt. Het beste is een form te maken in html en deze via jQuery.ajax() bvb door te sturen als post. Serverside alles te verwerken en ofwel een ok terugsturen ofwel een error met een json met data.

Error messages en wat nog allemaal en deze boven u form of boven elke form field te vergeven doormiddel van jQuery ook. $(selector).append() zo kunt ge de dom aanpassen zonder een volledige pagina refresh te doen.

Keuze is wat ge zelf het mooiste vind. Bovenaan de form 1 paragraaf met alles wat mis is. Of elk input element rood kleuren bvb door een css class toe te voegen met jQuery en daarbij een error message net boven die input field.

JSON is trouwens een key value array gewoon.

Zo word de controle toch server side gedaan en kunt ge errors laten zien zonder de pagina te refreshen. ;)

Mulle

Legacy Member
Bedankt voor de info, heb al altijd problemen gehad hoe ik best forms moet afhandelen in een webpagina.

Dus als ik het goed versta komt dit neer op het volgende:
1. Nieuwe form wordt in nieuwe pagina weergegeven
2. Gebruiker vult alles in.
3. Door op submit te drukken wordt via ajax de post uitgevoerd met alle data naar de php pagina die alles vewerkt
4. ipv. de form opnieuw te maken wordt het resultaat in json formaat doorgegeven
4.1 Bij ok resultaat => pagina locatie aanpassen naar de gewenste pagina met de content
4.2 Bij niet-ok, alle fouten meesturen en layout aanpassen via jquery zodat gebruiker snel en eenvoudig de problemen ziet en kan verbeteren
4.3 Bij submit terug naar stap 3


Wat is er niet goed aan popups (de popup is eigenlijk geen echte popup dat door browser wordt geblokkeerd, ik gebruik momenteel de modal van twitter bootstrap.)? Ik ben dit gewend bij het maken van windows applicaties.


Mvg,
Tom

PVL

Legacy Member
Nooit iframes gebruiken vooral in combinatie met src, ook al werken ze, kunnen ze door adblock geblokkeerd worden en veel mensen gebruiken het.

GoofyStoefy

Legacy Member
Mulle zei:
Wat is er niet goed aan popups (de popup is eigenlijk geen echte popup dat door browser wordt geblokkeerd, ik gebruik momenteel de modal van twitter bootstrap.)? Ik ben dit gewend bij het maken van windows applicaties.

Het gebruik van iframes, net zoals gezegd door PVL is af te raden maar popups kunnen ook op een andere manier gemaakt worden. Een hidden content blok html die in een popup weergeven word zoals bootstrap modal kan zeker handig zijn op bepaalde plekken. Maar voor algemene forms om content toe te voegen vind ik het toch niet dat. Dat is ook kwestie van smaak denk ik en niet persee fout. Bepaalde forms zouden perfect in een popup kunnen zoals als je een chatroom wilt joinen dat via popup dan een username gevraagd word o.i.d.

De maneir van werken en denken in een webapplicatie is ook anders dan in een desktop omgeving dus ik denk dat het een goede tip mag zijn om als je iets wilt doen, eens rond te kijken hoe het op andere websites gebeurd en niet blindelings de manier van werken van een desktop applicatie over te nemen.

PVL

Legacy Member
Wat Goofy zegt gewoon position: absolute (container in midden zetten) position: relative (sluitingkruis boven recht zeten tegenover die container) CSS -> visib: hidden of display: none, als er javascript is dan pas tonnen anders zal het zowiezo niet werken indien iemand geen javascript aan heeft. Verder controle via javascript wordt enkel gebruikt om gebruiker dynamisch te laten weten dat er iets mis is dus niet voor controle/validatie van input dat gebeurd altijd server side.

Mulle

Legacy Member
Bedankt voor de goede info en voorbeelden. Ik ga wat experimenteren en het daarna integreren in mijn framework.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan