opmerk. formulier vanaf meerdere bestanden op vaste plek in formulier
Opmerkingen over gecheckte gegevens uit de database komen te staan
op een vaste plek, bovenin het formulier.
Nu wil ik het valideren van bijv. email, url,enz. in een nieuw bestand zetten.
Maar de opmerkingen daarover op dezelfde plek zetten in het formulier.
Maar krijg de verwijzingen niet goed.
Bij formulier staat:
Code (php)
1
2
3
4
5
2
3
4
5
$New = $Login_Process->Register($_POST, $_POST['process']);
<div class="red">
<?php echo $New; ?>
</div>
<div class="red">
<?php echo $New; ?>
</div>
Via processes komen de returns nu keurig bovenin het formulier terecht.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$jaar = date('Y');
$verschil = $jaar - $aM[3];
if ($verschil <10 or $verschil >90)
{
return "Vreemde geboortedatum";
}
$verschil = $jaar - $aM[3];
if ($verschil <10 or $verschil >90)
{
return "Vreemde geboortedatum";
}
Wanneer ik nu een bestand aanmaak 'check.php'.
En verwijs verder door vanaf processes via een functie en vermelding van include.
Hoe krijg ik dan de opmerkingen (return)uit check.php weer boven in het formulier?
Neem als voorbeeld dat het gegeven deeltje van de PHP niet komt te staan bij processes.php
maar in het bestand check.php.
Ik wil dus vanaf meerdere bestanden de opmerkingen zetten op dezelfde positie in formulier.
Moet ik dan een nieuwe DIV aanmaken over de andere heen? of kan dit met PHP?
Sorry voor de warrige uitleg!
1. Hoe moet ik mijn code organiseren zodat ik formulier-functionaliteit kan schrijven die verschillende (typen) formuliervelden apart kan verwerken en hier vervolgens weer één totale (formulier)terugkoppeling van kan maken? (NB ik had hier aan een voorstel toe gedaan)
2. Hoe kan ik dit verder verwerken in mijn formulier-functionaliteit zodanig dat foutmeldingen van specifieke velden bij deze velden worden weergeven?
Zoiets?
Deze vraag heeft ergens anders betrekking op Thomas.
Ik heb een opmerkingen DIV boven in een formulier staan.
Daar komen alle opmerkingen terecht als 'email bestaat al, wachtwoorden komen niet overeen'.
(Controle met de database)
Ik wel echter de check van het getypte zoals 'dit is geen email,
dit is geen juiste url,enz', in ander bestand zetten.
Maar de opmerkingen wel graag in dezelfde DIV op het formulier.
Dus vanuit meerdere bestanden moeten de opmerkingen terecht komen in dezelfde DIV van het formulier.
Ik kan wel in de HTML van het formulier een nieuwe DIV over de andere heen zetten.
Maar ik vroeg me af of er een methode is met PHP om te regelen.
Maak je gebruik van sessies? Dat lijkt mij de ideale plaats om semi-permanente informatie tijdelijk in op te slaan.
$_SESSION['form']['errors'] met daarin de veldnamen en vervolgens weer een array met omschrijvingen bijvoorbeeld?
Ik weet niet precies waar je naartoe wilt met allerlei losse bestanden. Verdiep je anders eens in OOP in combinatie met een autoloader.
Hoe je dit vervolgens weergeeft -hierbij zou ik de meldingen bij de velden zelf zetten, en niet bovenaan het formulier als een slecht leesbare waslijst- lijkt mij echt een apart vraagstuk die je ook in afzondering kunt behandelen. Afhankelijk van de vorm die je kiest voor de informatie-overdracht (bijvoorbeeld dus via een sessie) wordt deze klus haast triviaal. Ik zou daarom eerst goed nadenken over de structuur.
EDIT Wanneer je dan de formulier-opbouw zo hebt opgezet dat je deze min of meer uit kunt draaien, dan kun je hier eventuele meldingen die in je sessie staan opgeslagen meenemen bij het weergeven van de individuele formuliervelden.
Gewijzigd op 07/03/2016 15:24:15 door Thomas van den Heuvel
Het onderstaande werkt (voorbeeld)
De processes.php
Code (php)
De aanvul.php
Code (php)
Gewijzigd op 08/03/2016 17:00:16 door Hans De Ridder