Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Formulier in php

Ik heb een formulier gemaakt met HTML en PHP.

Eerst en vooral wil ik een naam inlezen en vervolgens moet de persoon die het formulier gaat invullen een aantal keuzes maken uit verschillende menu's.

Mijn script gaat controleren of die naam ingevuld is en daarna zou ik graag de waarden in een nieuwe html pagina tevoorschijn krijgen in tabelvorm.

Mijn HTML (niet compleet)

[html]<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Invulformulier</title>

</head>

<body>

<form action="verwerk.php" method="post">

<p>

<label for="naam">Voornaam:</label>

<input type="text" name="voornaam" id="voornaam" />

</p>



// Hier komen dan de verschillende keuzemenu's van het invulformulier

<input type="submit" value="Verzenden" />

</p>

</form>

</body>[/html]

Vervolgens heb ik het volgende script gemaakt:

[html]<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>verwerking</title>

</head>

<body><?php

// Controle 'Submit'

if($_SERVER['REQUEST_METHOD'] == 'POST')

{

// Arrays declareren

$aErrors = array();

$aData = array();



// Velden in het formulier

$aFormulierVelden = array('voornaam', 'veld2', 'veld3', 'veld4', 'veld5', 'veld6');

foreach($aFormulierVelden as $sVeld)

{

// Controleren of er een waarde voor het veld bestaat

// !!! HET EERSTE VELD ZOU EEN NAAM MOETEN BEVATTEN EN DE ANDERE ZOUDEN KEUZEMENU'S ZIJN (enkel dus het eerste controleren ?? !!!

if(isset($_POST[$sVeld]))

{

if(empty('voornaam'))

{

// Foutmelding (naam vergeten invullen)

echo 'Je bent vergeten om je naam in te vullen';

}



// Ingevulde waarden aan data array toevoegen

$aData[$sVeld] = $sValue;

}

else

{

$aErrors[] = 'Het veld '.$sVeld.' is niet gepost!';

}

}



// Controleren of er geen fouten opgetreden zijn

if(empty($aErrors))

{

// Formulier succes!

echo '<p>Je hebt het formulier succesvol ingevuld! De volgende gegevens zijn bekend:</p>';



....

....

....

}

else

{

// Fouten opgetreden: weergeven en terug naar formulier

header('Refresh: 3; url=formulier.php');

foreach($aErrors as $sError)

{

echo '<p style="color:red">'.$sError.'</p>';

}

}

}

else

{

// Verwerk.php mag nog niet bezocht worden, terug naar het formulier

header('Location: formulier.php');

}

?>

</body>[/html]

Hoe kan ik nu best een HTML pagina maken met tabel en die velden daarin printen ?

Ik ben wel maar een beginner dus liefst niet te moeilijk.
Gebruikersavatar
Spooky K
Artikelen: 0
Berichten: 54
Lid geworden op: di 24 mei 2005, 21:39

Re: Formulier in php

Hier is duidelijk uitgelegd hoe je tabellen moet maken in html. Onderaan de pagina staan enkele voorbeelden die je eventueel kunt aanpassen.
"I believe in God, only I spell it Nature." - Frank Lloyd Wright

"Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke

"There are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle." - A. Einstein
Gebruikersavatar
Ger
Artikelen: 0
Berichten: 17.676
Lid geworden op: di 18 okt 2005, 09:51

Re: Formulier in php

Ik gok dat dat niet het probleem is, volgens mij weet Ruben best hoe hij tabellen moet maken. Wat het echte probleem is, weet ik echter even niet... Je kunt de waarden terug laten komen in een tabel net zoals je dat bij je laatste echo doet. Zoiets dus:

Code: Selecteer alles

<?php

echo '<table><tr><td>Voornaam</td><td>' . $voornaam . '</td></tr>';

echo '<tr><td>Waarde2</td><td>' . $veld2 . '</td></tr>';

echo '<tr><td>Waarde3</td><td>' . $veld3 . '</td></tr></table>';

?>
Kan overigens ook in 1 echo, maar dit vind ik zelf overzichtelijker.
"Knowledge speaks, but wisdom listens."
- Jimi Hendrix -
Gebruikersavatar
Cycloon
Artikelen: 0
Berichten: 4.810
Lid geworden op: ma 24 jan 2005, 20:56

Re: Formulier in php

Volgens mij geeft Ger idd het juiste antwoord (of je bedoelt iets totaal anders).

Maar een tip: In PHP heeft het geen nut om vooraf types te gaan 'initialiseren' (je doet in jouw code niet aan declaratie, maar aan initialisatie) omdat PHP niet echt veel onderscheidt maakt in verschillende types en er zelf maar wat mee doet.

Code: Selecteer alles

if(empty('voornaam'))

{

// Foutmelding (naam vergeten invullen)

echo 'Je bent vergeten om je naam in te vullen';

}
Deze code lijkt me overigens ook niet echt te kloppen.
Gebruikersavatar
Ruben01
Artikelen: 0
Berichten: 2.902
Lid geworden op: wo 02 mei 2007, 18:10

Re: Formulier in php

Oké Ger, bedankt voor het stukje voorbeeldcode.

Ik denk wel dat het nu zal lukken.

Die tabel in HTML maken vormt niet echt een probleem en de controle voor het checken of de naam is ingevuld zoals cycloon opmerkt werkte ook niet naar behoren maar dat is al opgelost.

Terug naar “Informatica en programmeren”