Hallo
Ik heb een probleem met het 'verwerken' van mijn php code. Ik geef toe echt niet zoveel van php te kennen (meer asp.net om eerlijk te zijn, dus de codes van php zijn nogal nieuw voor me), en de meeste van de code heb ik geschreven mbv phphulp tutorials en scripts.
De code die aangeroepen wordt vanuit het formulier is :
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
session_start();
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Arrays voor opslag van fouten en data leegmaken
$_SESSION['fouten'] = array();
$_SESSION['input'] = array() ;
// verplichte velden definiëren
$formuliervelden = array(
'naam' => 'text',
'functie' => 'text',
'naam_bedrijf' => 'text',
'straat' => 'text',
'postcode' =>'text',
'gemeente' =>'text',
'mail' => 'text',
'telnummer' =>'text',
'druknaam' =>'text',
);
//velden zonder controle
$no_check = array('straat2', 'postcode2', 'gemeente2');
// Alle velden doorlopen
foreach($formulierveld as $veld => $type)
{
if(isset($_POST[$veld]))
{
//onnodige spaties verwijderen
$value = trim($_POST[$veld]);
// ingevulde waarden invoeren in array
$_SESSION['input'][$veld] = $value;
//controle van de verplichte velden
//overslaan van velden zonder controle
if(in_array($veld, $no_check))
{
continue;
}
//controle op postcode 4 cijfers
elseif($veld == 'postcode')
{
if(!preg_match('~\A[1-9]\d{3}\z~', $value))
{
$_SESSION['errors'][$veld] = true ;
$errors[] = 'Gelieve de postcode te controleren' ;
}
//controle of rest van de velden ingevuld is.
else
{
if(empty($value))
{
$_SESSION['errors'][$veld] = true;
$errors[] = 'Je bent vergeten het veld '.$veld.' in te vullen.';
}
}
}
else
{
$errors[] = 'Het veld '.$veld.' ontbreekt aan het formulier';
}
}
}
// Verwerk het formulier als er geen fouten opgetreden zijn.
if(empty($_SESSION['errors']))
{
// vb. Stuur een email met de gegevens
// Stuur gebruiker door naar een volgende pagina.
$content[] = '<p><b>Het resultaat, de input:</b></p>';
$content[] = '<ul>';
foreach($_SESSION['input'] as $key => $value)
{
$content[] = '<li>'.$key.': '.$value.'</li>';
}
$content[] = '</ul>';
unset($_SESSION['input']);
}
}
?>
Het probleem is nu dat als ik via mijn formulier deze code aanroep, ik op een pagina kom waarop gewoon de code staat.... :
'text', 'functie' => 'text', 'naam_bedrijf' => 'text', 'straat' => 'text', 'postcode' =>'text', 'gemeente' =>'text', 'mail' => 'text', 'telnummer' =>'text', 'druknaam' =>'text', ); //velden zonder controle $no_check = array('straat2', 'postcode2', 'gemeente2'); // Alle velden doorlopen foreach($formulierveld as $veld => $type) { if(isset($_POST[$veld])) { //onnodige spaties verwijderen $value = trim($_POST[$veld]); // ingevulde waarden invoeren in array $_SESSION['input'][$veld] = $value; //controle van de verplichte velden //overslaan van velden zonder controle if(in_array($veld, $no_check)) { continue; } //controle op postcode 4 cijfers elseif($veld == 'postcode') { if(!preg_match('~\A[1-9]\d{3}\z~', $value)) { $_SESSION['errors'][$veld] = true ; $errors[] = 'Gelieve de postcode te controleren' ; } //controle of rest van de velden ingevuld is. else { if(empty($value)) { $_SESSION['errors'][$veld] = true; $errors[] = 'Je bent vergeten het veld '.$veld.' in te vullen.'; } } } else { $errors[] = 'Het veld '.$veld.' ontbreekt aan het formulier'; } } } // Verwerk het formulier als er geen fouten opgetreden zijn. if(empty($_SESSION['errors'])) { // vb. Stuur een email met de gegevens // Stuur gebruiker door naar een volgende pagina. $content[] = '
Het resultaat, de input:
'; $content[] = '
'; foreach($_SESSION['input'] as $key => $value) { $content[] = '
'.$key.': '.$value.'
'; } $content[] = '
'; unset($_SESSION['input']); } } ?>
Kan iemand mij hierin helpen? Ik ben er zeker van dat ik iets misdoe, maar ik heb dus echt geen flauw idee wat...
Alvast héél erg bedankt voor alle feedback
588 views