Formuliervalidatie

Status
Niet open voor verdere reacties.

SvU

Terugkerende gebruiker
Lid geworden
26 jan 2007
Berichten
1.534
Ik heb een probleem.

Ik schrijf een applicatie met een heleboel formulieren. Gezien sommige van deze formulieren nogal lang zijn sla ik ze op als aparte PHP-bestanden. Zo heb ik een 'newcus.php', maar ook een 'newcusform.php'. Alles staat overigens in één bestand, om het overzicht te bewaren.

Oftewel, allemaal in hetzelfde bestand:

<formulier>
<validatie>
<formulier> <actie-met-formulierdata>

Op de volgende manier gebruik ik ze:

PHP:
	if (!array_key_exists('_submit_check', $_POST)) {

		include('newcusform.php');

	}else{

		$firstname = $_POST['firstname'];
                        (...)
                        
                        if($password1 != $password2){
                                  include('newcusform.php');
                        }else{
                                  (...)
                        }
            }


Het probleem zit 'm in die tweede if, want als ik dan gewoon simpelweg het formulier weer include moet de gebruiker weer overnieuw beginnen met het invullen ervan. Ik moet natuurlijk een beetje aan de usability denken, dus ik wil de ingevoerde waardes weer terugzetten.
Ik zou het validatiebestand en het formulierbestand kunnen splitsen, maar dat vind ik niet handig. Ik zoek dus een manier de variabelen door te geven, zonder page.php?firstname=bla&surname=blabla te gebruiken.

Iemand?
 
Laatst bewerkt:
Daar heb ik ook aan zitten denken.

Ik moet sowieso dynamisch de inhoud van m'n formulieren gaan bepalen, maar het probleem is dat ik dus twee keer hetzelfde (newcusform.php) formulier gebruik. Hoe moet ik dat dan combineren?
 
is het mogelijk om je form een waarde mee te geven.... voordat je include.... en die in je form name= te verwerken.

dus eerste zeg je

$a='form1';

includepagina:
<form name='$a'>

en daarna:

$a='form2';

includepagina:
<form name='$a'>
 
Dat zou dus uiteindelijk toch codeduplicatie zijn, maar dat valt op zich wel op te lossen.

Ik denk dat ik inderdaad voor sessievariabelen ga, en gewoon in newcusform.php iets zet als:

[pseudo]
if(variabelenzijner){
<formulier ingevuld met sessievariabelen>
}else{
<leeg formulier>
}
[/pseudo]

Bedankt!
 
jammer dat er niet een beter oplossing uit is gekomen. Maar ondanks alles veel suc6!
 
Je kunt bij tekst vakken het ook zo doen in je newcusform.php
Dan hoef je maar 1x het formulier aan te maken en toch de evt ingevulde waardes weergeven.

PHP:
<input type="text" value="<? if(isset($_POST['vlak'])){ echo $_POST['vlak']; } ?>" name="vlak" />
 
Bedankt, dat gaan we proberen!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan