Berner
Neues Mitglied
Guten Abend
Ich stehe auf dem Schlauch wie ich beides am Besten kombiniere.
Bisher waren es alles Pflichtfelder und es funktionierte.
Neu sind die beiden Zeilen die ich nach dem Kommentar, // Freiwillige Felder.... eingefügt habe: (ab Zeile 22).
Gibt mir die beiden Fehlermeldungen: Bitte Formular vollständig ausfüllen - und - Freiwillige Felder nicht vorhanden.
Ich stehe auf dem Schlauch wie ich beides am Besten kombiniere.
Bisher waren es alles Pflichtfelder und es funktionierte.
Neu sind die beiden Zeilen die ich nach dem Kommentar, // Freiwillige Felder.... eingefügt habe: (ab Zeile 22).
Gibt mir die beiden Fehlermeldungen: Bitte Formular vollständig ausfüllen - und - Freiwillige Felder nicht vorhanden.
Code:
<?php
include_once '../main.php';
$messages_error = [];
$messages = [];
if (!isset($_GET['id'])) {
exit ('Kein Datensatz unter dieser ID');
}
if (!empty($_POST)) {
// Pflichtfelder: POST-Variabeln vorhanden?
if (empty($_POST['title']) || empty($_POST['vorname']) || empty($_POST['nachname']) || empty($_POST['str']) || empty($_POST['plz']) || empty($_POST['ort']) || empty($_POST['email']) || empty($_POST['phone1'])) {
// Einer oder mehrere Werte sind leer.
$messages_error[] = 'Bitte Formular vollständig ausfüllen.';
}
// Email korrekt?
if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
$messages_error[] = 'Bitte E-Mail-Adresse prüfen.';
}
// Freiwillige Felder: POST-Variabeln vorhanden oder NULL
if (!isset($_POST['phone2'], $_POST['phone3'], $_POST['phone4'])) {
$messages_error[] = 'Freiwillige Felder nicht vorhanden';
}
// Bei Fehlern
if (!empty($messages_error)) {
$account = $_POST;
}
else {
// Daten aus $_POST speichern
$stmt = $pdo->prepare('UPDATE accounts SET title = ?, vorname = ?, nachname = ?, str = ?, snr = ?, plz = ?, ort = ?, email = ?, phone1 = ?, phone2 = ?, phone3 = ?, phone4 = ? WHERE id = ?');
$stmt->execute([$_POST['title'], $_POST['vorname'], $_POST['nachname'], $_POST['str'], $_POST['snr'], $_POST['plz'], $_POST['ort'], $_POST['email'], $_POST['phone1'], $_POST['phone2'], $_POST['phone3'], $_POST['phone4'], $_GET['id']]);
header ('Location: ../saved.php');
exit;
}
}
else {
// Werte aus Datenbank
$stmt = $pdo->prepare('SELECT * FROM accounts WHERE id = ?');
$stmt->execute([$_GET['id']]);
$account = $stmt->fetch(PDO::FETCH_ASSOC);
}
?>
<!-- Formular... -->
............
Zuletzt bearbeitet: