Ik wil een contact formulier in php geschreven met daarin enkele verplichte velden. Nu heb ik er een van internet geplukt en zelf aangepast, ik krijg alleen wat foutmeldingen. Hopelijk kan iemand me even corrigeren zodat het werkt.
Dit zijn de foutmeldingen:
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 89
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 92
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 95
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 98
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 101
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 104
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 108
Fatal error: Call to undefined function: filter_input_array() in ... on line 116
php code
Het wordt wel aangegeven maar zie niet echt een mogelijk waar het moet.
Hopelijk weet iemand raad.
Dit zijn de foutmeldingen:
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 89
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 92
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 95
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 98
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 101
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 104
Notice: Use of undefined constant FILTER_CALLBACK - assumed 'FILTER_CALLBACK' in ... on line 108
Fatal error: Call to undefined function: filter_input_array() in ... on line 116
php code
- <?php
- ini_set('display_errors', 1);
- error_reporting(E_ALL);
- session_start();
- if($_SERVER['REQUEST_METHOD'] == 'POST')
- {
- // Declareren van errors en input arrays
- $_SESSION['errors'] = array();
- $_SESSION['input'] = $_POST;
- // Verplichte velden
- $aVerplicht = array('voorletters', 'achternaam', 'adres', 'postcode', 'woonplaats', 'telefoonnummer', 'email');
- /**
- * Controle voorletters
- *
- * @param string $sVoorletters: de te controleren voorletters
- * @return: NULL als voorletters geen geldig formaat heeft, anders $sVoorletters
- */
- function checkVoorletters($sVoorletters)
- {
- return preg_match('/^[a-z]$/i', $sVoorletters) ? $sVoorletters : NULL;
- }
- /**
- * Controle achternaam
- *
- * @param string $sAchternaam: de te controleren achternaam
- * @return: NULL als achternaam geen geldig formaat heeft, anders $sAchternaam
- */
- function checkAchternaam($sAchternaam)
- {
- return preg_match('/^[a-z]$/i', $sAchternaam) ? $sAchternaam : NULL;
- }
- /**
- * Controle adres
- *
- * @param string $sAdres: de te controleren adres
- * @return: NULL als adres geen geldig formaat heeft, anders $sAdres
- */
- function checkAdres($sAdres)
- {
- return preg_match('/^[a-z][[:space:]]?[0-9]$/i', $sAdres) ? $sAdres : NULL;
- }
- /**
- * Postcode controle op geldig formaat
- *
- * @param string $sPostcode: de te controleren postcode
- * @return: NULL als postcode geen geldig formaat heeft, anders $sPostcode
- */
- function checkPostcode($sPostcode)
- {
- return preg_match('/^[1-9]{1}[0-9]{3}[[:space:]]?[a-z]{2}$/i', $sPostcode) ? $sPostcode : NULL;
- }
- /**
- * Controle woonplaats
- *
- * @param string $sWoonplaats: de te controleren woonplaats
- * @return: NULL als woonplaats geen geldig formaat heeft, anders $sWoonplaats
- */
- function checkWoonplaats($sWoonplaats)
- {
- return preg_match('/^[a-z]$/i', $sWoonplaats) ? $sWoonplaats : NULL;
- }
- /**
- * Controle telefoonnummer
- *
- * @param string $sTelefoonnummer: de te controleren telefoonnummer
- * @return: NULL als telefoonnummer geen geldig formaat heeft, anders $sTelefoonnummer
- */
- function checkTelefoonnummer($sTelefoonnummer)
- {
- return preg_match('/^[0-9]{10}$/i', $sTelefoonnummer) ? $sTelefoonnummer : NULL;
- }
- /**
- * Controle email
- *
- * @param string $sEmail: de te controleren email
- * @return: NULL als email geen geldig formaat heeft, anders $sEmail
- */
- function checkEmail($sEmail)
- {
- return preg_match('/^[@]$/i', $sEmail) ? $sEmail : NULL;
- }
- // Definieren van filters voor verschillende inputvelden.
- $aFilters = array (
- 'voorletters' => array (
- 'filter' => FILTER_CALLBACK,
- 'options' => 'checkVoorletters' ),
- 'achternaam' => array (
- 'filter' => FILTER_CALLBACK,
- 'options' => 'checkAchternaam' ),
- 'adres' => array (
- 'filter' => FILTER_CALLBACK,
- 'options' => 'checkAdres' ),
- 'postcode' => array (
- 'filter' => FILTER_CALLBACK,
- 'options' => 'checkPostcode' ),
- 'woonplaats' => array (
- 'filter' => FILTER_CALLBACK,
- 'options' => 'checkWoonplaats' ),
- 'telefoonnummer' => array (
- 'filter' => FILTER_CALLBACK,
- 'options' => 'checkTelefoonnummer' ),
- 'mobiel' => NULL,
- 'email' => array (
- 'filter' => FILTER_CALLBACK,
- 'options' => 'checkEmail' ),
- 'product' => NULL,
- 'contact' => NULL,
- 'contactpersoon' => NULL
- );
- // Uitvoeren van de filters en doorlopen van het resultaat
- $aResultaat = filter_input_array(INPUT_POST, $aFilters);
- foreach($aResultaat as $sKey => $sValue)
- {
- $sValue = trim($sValue);
- if(empty($sValue) && in_array($sKey, $aVerplicht))
- {
- $_SESSION['errors'][$sKey] = true;
- $aErrors[] = 'Je hebt geen geldige '.$sKey.' ingevuld.';
- }
- }
- // Verwerk het formulier als er geen fouten opgetreden zijn.
- if(empty($_SESSION['errors']))
- {
- // Verwerk het formulier:
- // vb. Schrijf gegevens naar een database
- // vb. Stuur een email met de gegevens
- // Stuur gebruiker door naar een volgende pagina.
- $aContent[] = '<p><b>Het resultaat, de input:</b></p>';
- $aContent[] = '<ul>';
- foreach($_SESSION['input'] as $sKey => $sValue)
- {
- $aContent[] = '<li>'.$sKey.': '.$sValue.'</li>';
- }
- $aContent[] = '</ul>';
- unset($_SESSION['input']);
- }
- }
- ?>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <title>stream TRAJECTEN</title>
- <meta name="keywords" content="reintegratie, heerenveen, coaching, mediation, activering, friesland, stream trajecten, mediation" />
- <link rel="stylesheet" href="/layout.css" type="text/css" />
- <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
- <style type="text/css">
- input.error {
- border: 2px solid #FF0000;
- }
- </style>
- </head>
- <body>
- <div id="container">
- <?php include($_SERVER['DOCUMENT_ROOT'].'/header.php');?>
- <?php include($_SERVER['DOCUMENT_ROOT'].'/contactbalk.php');?>
- <?php include($_SERVER['DOCUMENT_ROOT'].'/contact_menu.php');?>
- <p>Alle velden met een * zijn verplicht.</p>
- <form action="contactform.php" method="post">
- <p>
- <label class="field" for="voorletters" class="naast">Voorletters:</label>
- <input type="text"
- id="voorletters"
- name="voorletters"
- value="<?php echo isset($_SESSION['input']['voorletters']) ? $_SESSION['input']['voorletters'] : ''; ?>"
- class="<?php echo (isset($_SESSION['errors']['voorletters']) && $_SESSION['errors']['voorletters'] == 'true') ? 'error' : ''; ?>"
- /> *
- </p>
- <p>
- <label class="field" for="achternaam" class="naast">Achternaam:</label>
- <input type="text"
- id="achternaam"
- name="achternaam"
- value="<?php echo isset($_SESSION['input']['achternaam']) ? $_SESSION['input']['achternaam'] : ''; ?>"
- class="<?php echo (isset($_SESSION['errors']['achternaam']) && $_SESSION['errors']['achternaam'] == 'true') ? 'error' : ''; ?>"
- /> *
- </p>
- <p>
- <label class="field" for="adres" class="naast">Adres:</label>
- <input type="text"
- id="adres"
- name="adres"
- value="<?php echo isset($_SESSION['input']['adres']) ? $_SESSION['input']['adres'] : ''; ?>"
- class="<?php echo (isset($_SESSION['errors']['adres']) && $_SESSION['errors']['adres'] == 'true') ? 'error' : ''; ?>"
- /> * (Voorbeeldstraat 2)
- </p>
- <p>
- <label class="field" for="postcode" class="naast">Postcode:</label>
- <input type="text"
- id="postcode"
- name="postcode"
- value="<?php echo isset($_SESSION['input']['postcode']) ? $_SESSION['input']['postcode'] : ''; ?>"
- class="<?php echo (isset($_SESSION['errors']['postcode']) && $_SESSION['errors']['postcode'] == 'true') ? 'error' : ''; ?>"
- /> * (1234 AB)
- </p>
- <p>
- <label class="field" for="woonplaats" class="naast">Woonplaats:</label>
- <input type="text"
- id="woonplaats"
- name="woonplaats"
- value="<?php echo isset($_SESSION['input']['woonplaats']) ? $_SESSION['input']['woonplaats'] : ''; ?>"
- class="<?php echo (isset($_SESSION['errors']['postcode']) && $_SESSION['errors']['postcode'] == 'true') ? 'error' : ''; ?>"
- /> *
- </p>
- <p>
- <label class="field" for="telnr" class="naast">Telefoonnummer:</label>
- <input type="text"
- id="telnr"
- name="telefoonnummer"
- value="<?php echo isset($_SESSION['input']['telefoonnummer']) ? $_SESSION['input']['telefoonnummer'] : ''; ?>"
- class="<?php echo (isset($_SESSION['errors']['telefoonnummer']) && $_SESSION['errors']['telefoonnummer'] == 'true') ? 'error' : ''; ?>"
- /> * (0201234567)
- </p>
- <p>
- <label class="field" for="mob" class="naast">Mobiel:</label>
- <input type="text"
- id="mob"
- name="mobiel"
- value="<?php echo isset($_SESSION['input']['telefoonnummer']) ? $_SESSION['input']['telefoonnummer'] : ''; ?>"
- />
- </p>
- <p>
- <label class="field" for="email" class="naast">Email:</label>
- <input type="text"
- id="email"
- name="email"
- value="<?php echo isset($_SESSION['input']['email']) ? $_SESSION['input']['email'] : ''; ?>"
- class="<?php echo (isset($_SESSION['errors']['email']) && $_SESSION['errors']['email'] == 'true') ? 'error' : ''; ?>"
- /> *
- </p>
- <p>
- <label class="field" for="product" class="naast">Selecteer product:</label>
- <input type="checkbox" name="product" value="<?php echo isset($_SESSION['input']['product']) ? $_SESSION['input']['product'] : ''; ?>" /><label>Supervisie/Coaching/Mediation</label>
- <input type="checkbox" name="product" value="<?php echo isset($_SESSION['input']['product']) ? $_SESSION['input']['product'] : ''; ?>" /><label>Trajectbegeleiding</label>
- <input type="checkbox" name="product" value="<?php echo isset($_SESSION['input']['product']) ? $_SESSION['input']['product'] : ''; ?>" /><label>Re-integratie</label>
- <input type="checkbox" name="product" value="<?php echo isset($_SESSION['input']['product']) ? $_SESSION['input']['product'] : ''; ?>" /><label>Educatie</label>
- <input type="checkbox" name="product" value="<?php echo isset($_SESSION['input']['product']) ? $_SESSION['input']['product'] : ''; ?>" /><label>Activering</label>
- <input type="checkbox" name="product" value="<?php echo isset($_SESSION['input']['product']) ? $_SESSION['input']['product'] : ''; ?>" /><label>Maatschappelijk werk</label>
- </p>
- <p>
- <label class="field" for="probleem" class="naast">Probleemstelling:</label>
- <textarea id="probleem" name="probleemstelling" rows="7" cols="26" wrap="virtual" content="anything"></textarea>
- </p>
- <p>
- <label class="field" for="contact" class="naast">Heeft u al eens eerder telefonisch contact met ons gehad?:</label>
- <input type="radio" id="contact" name="contact" value="<?php echo isset($_SESSION['input']['contact']) ? $_SESSION['input']['contact'] : ''; ?>" /><label>Ja</label>
- <input type="radio" id="contact" name="contact" value="<?php echo isset($_SESSION['input']['contact']) ? $_SESSION['input']['contact'] : ''; ?>" /><label>Nee</label>
- </p>
- <p>
- <label class="field" for="contactpersoon" class="naast">Zo ja, met wie?</label>
- <input type="text" id="contactpersoon" name="contactpersoon" size="34" maxlength="50" value="<?php echo isset($_SESSION['input']['contactpersoon']) ? $_SESSION['input']['contactpersoon'] : ''; ?>" />
- </p>
- <p>
- <input type="reset" value="Herstellen" /><input type="submit" value="Verzenden" class="lijnuit" />
- </p>
- </form>
- <?php
- // Weergeven van meldingen uit het phpscript.
- if(isset($aErrors))
- {
- echo '<ul>';
- foreach($aErrors as $sError)
- {
- echo '<li>'.$sError.'</li>';
- }
- echo '</ul>';
- }
- elseif(isset($aContent))
- {
- foreach($aContent as $sLine)
- {
- echo $sLine;
- }
- }
- ?>
- </div>
- </body>
- </html>
Het wordt wel aangegeven maar zie niet echt een mogelijk waar het moet.
Hopelijk weet iemand raad.