Hi,
Zunächst mal kannst du dein Formular so grob definieren. Achte Dabei auf Groß/Kleinschreibung.
PHP-Code:
<?php
$fields = [
'name' => [
'label' => 'Vorname',
'maxlength' => 50,
],
'lastname' => [
'label' => 'Nachname',
'maxlength' => 50,
],
'email' => [
'label' => 'EMail',
'maxlength' => 100,
],
'message' => [
'label' => 'Nachricht',
'maxlength' => 500,
],
];
Dann kannst du zu jedem Feld
prüfen lassen, ob Daten eingegeben wurden
PHP-Code:
<?php
function validate(array $fields, string $field){
if($_SERVER['REQUEST_METHOD'] !== 'POST') return ""; // Formular noch nicht abgeschickt
if(!isset($fields[$field])) return "Das Feld {$field} existiert nicht";
if(empty($_POST[$field])) return "Das Feld {$fields[$field]['label']} darf nicht leer sein";
if(strlen($_POST[$field]) > $fields[$field]['maxlength']) return "Das Feld {$field} enthält zu viele Zeichen";
}
PHP-Code:
<?php echo validate($fields, 'name') ?>
Die Anzeige der Werte ist ja von zwei Faktoren abhängig: Wurde das Formular übermittelt, und wurde die EMail gesendet.
PHP-Code:
<?php
function showvalue(string $name, bool $mailsend){
if($_SERVER['REQUEST_METHOD'] === 'POST' && !$mailsend) return $_POST[$name] ?? "";
else return "";
}
PHP-Code:
if(isset($_POST['submit'])){
$mailsend = mail(...);
}
else {
$mailsend = false;
}
PHP-Code:
value="<?php showvalue('name'); ?>"
Bitte verwende das so niemals auf einer Seite die andere Leute aufrufen können, dein Formular kann für Spam missbraucht werden. Lies dich in PHPMailer ein
https://github.com/PHPMailer/PHPMailer
Links auf deinen Localhost bringen hier nichts, den kannst du so nur von deinem eigenen Computer aufrufen.