opmerk. formulier vanaf meerdere bestanden op vaste plek in formulier

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hans De Ridder

Hans De Ridder

07/03/2016 13:48:57
Quote Anchor link
Ik laat de afhandeling van een formulier over aan een bestand 'processes'.
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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
$New = $Login_Process->Register($_POST, $_POST['process']);

<div class="red">
<?php  echo $New; ?>
</div>


Via processes komen de returns nu keurig bovenin het formulier terecht.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
$jaar = date('Y');
$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!
 
PHP hulp

PHP hulp

05/12/2024 03:17:37
 
Thomas van den Heuvel

Thomas van den Heuvel

07/03/2016 14:26:28
Quote Anchor link
Als ik het bovenstaande goed interpreteer, zijn dit (ten minste) twee vragen die apart behandeld kunnen worden:

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?
 
Hans De Ridder

Hans De Ridder

07/03/2016 14:47:04
Quote Anchor link
Bedankt voor je reactie.
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.
 
Thomas van den Heuvel

Thomas van den Heuvel

07/03/2016 15:21:04
Quote Anchor link
Uhm.

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
 
Hans De Ridder

Hans De Ridder

08/03/2016 16:58:32
Quote Anchor link
Sorry voor de wat late reactie en de warrige uitleg, maar moest eerst nog wat testen.
Het onderstaande werkt (voorbeeld)


De processes.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include 'aanvul.php';

$jaar = date('Y');
$verschil = $jaar - $aM[3];
if ($verschil <10 or $verschil  >90)
{

    return groen();
}

else
{
return rood();
}

?>


De aanvul.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
function rood()
{

$rood = 'rood';
return $rood;
}

function
groen()
{

$groen = 'groen';
return $groen;
}

?>
Gewijzigd op 08/03/2016 17:00:16 door Hans De Ridder
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.