submitten van form waarden overnemen

Status
Niet open voor verdere reacties.

martinotter

Gebruiker
Lid geworden
5 dec 2007
Berichten
20
Ik heb een formulier die wordt zichzelf pagina gepost.
Als niet alle velden zijn ingevuld geeft hij keurig een foutmelding. Hieronder geeft hij het formulier weer, maar dan zonder de velden die wel waren ingevuld.
Ik wil eigenlijk dat velden die wel zijn ingevuld, ingevuld blijven.

Iemand een idee?
 
Even wat HTML-les: een veld heeft een value-atribuut. Hierin kan je een waarde zetten. Deze komt dan in het veld te staan. Bijvoorbeeld:
HTML:
<input type='text' value='kijk! een waarde' />

Nu, met je php, kan je zelf wel bedenken dat zoiets werkt:
PHP:
//kijk eerst of er fouten zijn
//alle 'goede' ingevulde vakjes doe je dan zo:

if(is_post_goed_gelukt_voor_dit_veld)
{
   echo "<input type='text' value='" . $_POST['naam'] . "' />";
}else{
   echo "<input type='text' value='' />";
}
oid. :thumb:
 
Laatst bewerkt:
Zonder de code te zien is het lastig hier een exact antwoord op te geven, maar je zou alle geposte variabelen (die in de variabele $_POST staan) in het formulier in kunnen vullen als value. Dat wordt dus zoiets:
PHP:
if ($_SERVER['HTTP_REQUEST'] != "POST")
{
  echo '<form>
  echo <input name="voornaam"><br>
  echo <input name="achternaam"><br>
  //etc.
}
else
{
  if (form niet volledig ingevuld)
  {
    echo '<form>
    echo <input name="voornaam" ' . $_POST['voornaam'] . '><br>
    echo <input name="achternaam" ' .  $_POST['achternaam'] . '><br>
    //etc.
  }
  else
  {
    echo "Bedankt voor het invullen van het formulier";
  }
}

[edit]Vegras was me voor[/edit]
 
Laatst bewerkt:
@Supersnail, je bent een single-quote vergeten.

@TS, de (overigens prima) oplossing van Vegras kan ook korter:

PHP:
<input type="text" name="whatever" value="<?php echo (isset($_POST[ 'whatever']))?$_POST['whatever']:''; ?>" />

Maargoed, dat is natuurlijk ook een beetje persoonlijke voorkeur ;)
 
Oeh, sorry, niet goed opgelet ;)

Trouwens, $_SERVER[ 'HTTP_REQUEST' ] moet zijn $_SERVER[ 'REQUEST_METHOD' ].

en het waren er eigenlijk 10
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan