Ik heb het verwerk formulier gedowload en iets aangepast naar mijn eigen contact.html bestand. Ik zal het bestand hier onder weergeven. Misschien kan iemand mij helpen.

<?php
ini_set ('display_errors', 'On');
error_reporting(E_ALL);

include '../../inc/stats.php';
// Controle of een formulier gepost is
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
// Arrays declareren voor opslag van fouten en data
$aErrors = array();
$aData = array();

// Velden die in het formulier aanwezig moeten zijn
$aFormulierVelden = array('NAAM_afzender', 'EMAIL_afzender', 'Bericht',);

// Alle formuliervelden doorlopen
foreach($aFormulierVelden as $sVeld)
{
// Controleren of er een waarde voor het formulierveld bestaat
if(isset($_POST[$sVeld]))
{
// Spaties aan begin en eind weghalen
$sValue = trim($_POST[$sVeld]);

// Controle of variabele gevuld is
if(empty($sValue))
{
// Foutmelding toevoegen
$aErrors[] = 'Je bent vergeten om '.$sVeld.' 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>';
echo '<p>Naam: '.$aData['NAAM_afzender'].'<br />';
echo 'Email: '.$aData['EMAIL_afzender'].'</br >';
echo 'Bericht: '.$aData('Bericht').'</p>';
}
else
{
// Fouten opgetreden: weergeven en terug naar formulier
header('Refresh: 3; url=verwerk.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: verwerk.php');
}
?>
Zoals eerder gezegd ben ik hier als beginner en ik zie niet hoe ik oude berichten kan wijzigen.

Staat er ook iets op de site over het versturen van e-mail met het verwerk.php bestand, dat nu werkt.
Ook zoek ik nog een regel om de letters en het e-mail adres te valideren en waar ik die rels precies moet neerzetten.
Via het icoontje bij je bericht. Ik zal het bericht nu voor jouw even aanpassen.

Validatie kan erin, maar het is wel wat complexer als je alle velden benoemt, zonder aan te geven wat voor velden het zijn, en hoe die gevalideerd moeten worden.

In feite zou je jouw array kunnen uitbouwen:

$aFormulierVelden = array(
	'NAAM_afzender' => 'text', 
	'EMAIL_afzender' => 'e-mail', 
	'Bericht' => 'text');

En dan aan de hand van aFormulierVelden[1] (of het text of e-mail is) aangeven welke validatie plaats moet vinden per veld. Maar dan is het de vraag of je dit nog verder wilt uitkristalliseren naar de minimale lengte, maximale lengte, verplichte tekenreeks.

Maar dan kom je neer op wat dit doet:
https://github.com/SandroMiguel/verum-php

Of je kan het simpeler maken, door geen array te gebruiken, en al je velden handmatig te controleren met aparte if-statements.

[size=xsmall]Toevoeging op 28/07/2024 18:23:22:[/size]

Lijn 16 t/m 32 (excl de start en sluittag):


<?php
/* Bericht */

// Controleren of er een waarde voor het formulierveld bestaat
if (isset($_POST['bericht'])) {
    // Spaties aan begin en eind weghalen
    $sValue = trim($_POST['bericht']);

    // Controle of variabele gevuld is
    if (empty($sValue)) {
        // Foutmelding toevoegen
        $aErrors[] = 'Je bent vergeten om ' . $sVeld . ' in te vullen';
    }

    // Ingevulde waarden aan data array toevoegen
    $aData[$sVeld] = $sValue;
}

/* E-mail */
if (isset($_POST['emailadres'])) {
    // Spaties aan begin en eind weghalen
    $sValue = trim($_POST['emailadres']);

    // Controle of variabele gevuld is
    if (!filter_var($_POST["email"], FILTER_VALIDATE_EMAIL)) {
        $aErrors[] = 'Het e-maialdres is niet correct ingevuld';
    }

    // Ingevulde waarde aan data array toevoegen
    $aData[$sVeld] = $sValue;
}
?>

Bedankt voor de verdere uitleg.
Nu moet het contactformulier nog van mijn verzonden worden met mail. Hoe gaat dat precies en waar moet ik de regels plaatsen?
Als je logisch naar je hele script kijkt, wordt dat aangegeven op de plek waar staat:
"Formulier succes!"

Daar moet je de mailfunctie plaatsen.
Bedankt
Graag gedaan!

Reageren