Benötige Hilfe php Skript mit Datenbankanbindung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • wilkinsonwilfrid
    antwortet
    Auch wenn ich das Problem selbst erkennen konnte, bin ich für Ihre Hilfe dankbar.
    Zuletzt geändert von admin; 31.01.2024, 09:41.

    Einen Kommentar schreiben:


  • jochen1404
    antwortet
    Danke, ich habe das Problem nun doch selbst gefunden.

    Einen Kommentar schreiben:


  • jochen1404
    hat ein Thema erstellt Benötige Hilfe php Skript mit Datenbankanbindung.

    Benötige Hilfe php Skript mit Datenbankanbindung

    Hallo zusammen,
    kann mir jemand sagen woher die Daten der Variablen $first und $last ausgelesen werden.

    [COLOR=#000000][COLOR=#007700]function [/COLOR][COLOR=#0000BB]renderForm[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$first [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]''[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]$last [/COLOR][COLOR=#007700]=[/COLOR][COLOR=#DD0000]''[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]$error [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]''[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]$id [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#DD0000]''[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000BB]$last2 [/COLOR][COLOR=#007700]=[/COLOR][COLOR=#DD0000]''[/COLOR][COLOR=#007700]) {[/COLOR][/COLOR]​

    Ich möchte im Eingabeformular eine weiteres Feld einfügen komme aber nicht drauf woher die Daten aus den Variablen stammen.

    Vielen Dank für Eure Hilfe.




    PHP-Code:
    //

    <?php
    /* Datei: records.php
    Aufgabe: Neuen Datensatz erstellen bzw. vorhandenen Datensatz bearbeiten.
    */
    // Verbindung zur Datenbank herstellen.
    include("connect-db.php");
    // Funktion zur Bereinigung der Eingabedaten des Benutzers.
    function clean_data($data) {
    // Entfernt alle Leerzeichen am Anfang und Ende einer Zeichenfolge.
    $data trim($data);
    // Entfernt umgekehrte Schrägstriche aus einer Zeichenfolge.
    $data stripslashes($data);
    // Wandelt Sonderzeichen in HTML-Codes um.
    $data htmlspecialchars($data);
    // Entfernt Anweisungen in spitzen Klammern (sog. HTML-Tags) aus einer Zeichenfolge.
    $data strip_tags($data);
    return 
    $data;
    }
    // HTML-Formular zum Hinzufügen und Ändern von Datensätzen
    function renderForm($first ''$last =''$error ''$id ''$last2 ='') {
    ?>
    <!DOCTYPE html>
    <html lang = "de">
    <head>
    <meta charset="utf-8" />
    <title>
    <?php
    if ($id != '') {
    echo 
    "Datensatz &auml;ndern";
    } else {
    echo 
    "Datensatz hinzuf&uuml;gen";
    }
    ?>
    </title>
    <meta Name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" type="text/css" href="styles.css" media="all" />
    </head>
    <body>
    <h1>
    <?php
    if ($id != '') {
    echo 
    "Datensatz &auml;ndern";
    } else {
    echo 
    "Datensatz hinzuf&uuml;gen";
    }
    ?>
    </h1>
    <?php
    if ($error != '') {
    echo 
    "<div style='padding:4px; border:1px solid red; color:red'>"
    $error "</div>";
    }
    ?>
    <form action="" method="post">
    <div>
    <?php if ($id != '') { ?>
    <input type="hidden" Name="id" value="<?php echo $id?>" />
    <p>ID: <?php echo $id?></p>
    <?php ?>
    </div>
    <div>
    <label for="Vorname"><strong>Vorname:</strong>
    <span style="color:red">* </span></label>
    <input type="text" id="Vorname" Name="Vorname" size="30"
    value="<?php echo $first?>" required="required" />
    </div>
    <br>
    <div>
    <label for="Name"><strong>Nachname:</strong>
    <span style="color:red">*</span></label>
    <input type="text" id="Name" Name="Name" size="30"
    value="<?php echo $last?>" required="required"/>
    </div>
    <br>
    <div>
    <label for="Strasse"><strong>Strasse:</strong>
    <span style="color:red">*</span></label>
    <input type="text" id="Strasse" Name="Strasse" size="30"
    value="<?php echo $last2?>" required="required"/>
    </div>
    <br>
    <div>
    <label for="PLZ"><strong>PLZ:</strong>
    <span style="color:red">*</span></label>
    <input type="text" id="PLZ" Name="PLZ" size="30"
    value="<?php echo $last?>" required="required"/>
    </div>
    <p><span style="color:red">*</span> erforderlich</p>
    <input type="submit" Name="submit" class="button" value="Abschicken" />
    </form>
    </body>
    </html>
    <?php }
    /* DATENSATZ ÄNDERN: */
    if (isset($_GET['id'])) {
    /* Wenn im Formular die Schaltfläche 'submit' gedrückt wird,
    werden die Felder des Formulars ausgewertet. */
    if (isset($_POST['submit'])) {
    // Gültigkeit der Variablen 'id' prüfen.
    if (is_numeric($_POST['id'])) {
    // Die Werte der Felder des Formulars auslesen.
    $id $_POST['id'];
    $Vorname htmlentities($_POST['Vorname'], ENT_QUOTES);
    $Name htmlentities($_POST['Name'], ENT_QUOTES);
    $Personalnummer htmlentities($_POST['Personalnummer'], ENT_QUOTES);
    $Strasse htmlentities($_POST['Strasse'], ENT_QUOTES);
    $PLZ htmlentities($_POST['PLZ'], ENT_QUOTES);
    $Ort htmlentities($_POST['Ort'], ENT_QUOTES);
    $Telefon htmlentities($_POST['Telefon'], ENT_QUOTES);
    $Mobil htmlentities($_POST['Mobil'], ENT_QUOTES);
    $Dienststelle htmlentities($_POST['Dienststelle'], ENT_QUOTES);
    $Fuehrerschein htmlentities($_POST['Fuehrerschein'], ENT_QUOTES);
    $Eintritt htmlentities($_POST['Eintritt'], ENT_QUOTES);
    $Austritt htmlentities($_POST['Austritt'], ENT_QUOTES);
    $Vertrag htmlentities($_POST['Vertrag'], ENT_QUOTES);
    $Qualifikation htmlentities($_POST['Qualifikation'], ENT_QUOTES);
    $Bemerkung htmlentities($_POST['Bemerkung'], ENT_QUOTES);
    $Status htmlentities($_POST['Status'], ENT_QUOTES);
    $Urlaubsanspruch htmlentities($_POST['Urlaubsanspruch'], ENT_QUOTES);

    // Prüfen, ob die Pflichtfelder für Vor- und Nachname gefüllt sind.
    if ($Vorname == '' || $Name == '') {
    // Wenn beide leer sind, eine Fehlermeldung ausgeben und das Formular anzeigen.
    $error 'FEHLER: Bitte Vor- und Nachnamen erfassen!';
    renderForm($Vorname$Name$error$id$Personalnummer,);
    } else {
    // Wenn die Daten im Formular OK sind, die Datenbanktabelle 'mitarbeiter' aktualisieren.
    $sql "UPDATE mitarbeiter SET Vorname = ?, Name = ?, Personalnummer = ?, Strasse = ?, PLZ = ?, Ort = ?, Telefon = ?, Mobil = ?, Dienststelle = ?, Fuehrerschein = ?, Eintritt = ?, Austritt = ?, Vertrag = ?, Qualifikation = ?, Bemerkung = ?, Status = ?, Urlaubsanspruch = ? WHERE id=?";
    if (
    $stmt $conn->prepare($sql)) {
    $stmt->bind_param("ssi"$Vorname$Name$id);
    $stmt->execute();
    $stmt->close();
    } else {
    echo 
    "FEHLER: Die UPDATE-Anweisung konnte nicht vorbereitet werden.";
    }
    }
    // Den Benutzer nach der Aktualisierung umleiten.
    header("Location: view.php");
    } else {
    // Wenn der Inhalt der Variable 'id' ungültig ist, eine Fehlermeldung ausgeben.
    echo "FEHLER: Die Variable 'id' ist nicht nummerisch!";
    }
    /* Wenn im Formular die Schaltfläche 'submit' noch nicht betätigt wurde,
    die Daten aus der Datenbanktabelle 'mitarbeiter' entnehmen und im Formular anzeigen: */
    } else {
    // Prüfen, ob der Wert der Variablen 'id' nummerisch und größer als null ist.
    if (is_numeric($_GET['id']) && $_GET['id'] > 0) {
    $id $_GET['id'];
    // Bestimmten Datensatz aus der Datenbanktabelle 'mitarbeiter' auswählen und anzeigen.
    $sql "SELECT id, vorname, name FROM mitarbeiter WHERE id=?";
    if(
    $stmt $conn->prepare($sql)) {
    $stmt->bind_param("i"$id);
    $stmt->execute();
    $stmt->bind_result($id$Vorname$Name);
    $stmt->fetch();
    // HTML-Formular anzeigen
    renderForm($Vorname$NameNULL$id);
    $stmt->close();
    } else {
    echo 
    "FEHLER: Die SELECT-Anweisung konnte nicht vorbereitet werden.";
    }
    } else {
    /* Wenn der Wert der Variablen 'id' ungültig ist,
    den Benutzer zur Seite view.php umleiten. */
    header("Location: view.php");
    }
    }
    } else {
        
    /* Die Variable 'id' ist nicht gesetzt, folglich:
    NEUER DATENSATZ: */
    if (isset($_POST['submit'])) {
    /* Wenn im Formular die Schaltfläche 'submit' gedrückt wird,
    muss das Formular ausgewertet werden. */
    // Die Eingabedaten mit der Funktion 'clean_data' bereinigen.
    $Vorname clean_data($Vorname);
    $Name clean_data($Name);
    // Eingabedaten aufbereiten.
    $Vorname htmlentities($_POST['Vorname'], ENT_QUOTES);
    $Name htmlentities($_POST['Name'], ENT_QUOTES);
    /* Prüfen, ob im Formular die Pflichtfelder für Vor- und Nachname
    gefüllt sind, sonst eine Fehlermeldung ausgeben
    und das HTML-Formular anzeigen. */
    if ($Vorname == '' || $Name == '') {
    $error 'FEHLER: Bitte alle Pflichtfelder ausf&uuml;llen!';
    renderForm($Vorname$Name$error);
    } else {
    /* Einen neuen Datensatz in die Datenbanktabelle 'mitarbeiter' einfügen,
    oder eine Fehlermeldung ausgeben.*/
    $sql "INSERT INTO mitarbeiter (Vorname, Name) VALUES (?, ?)";
    if (
    $stmt $conn->prepare($sql)) {
    $stmt->bind_param("ss"$Vorname$Name);
    $stmt->execute();
    $stmt->close();
    echo 
    "Einen neuen Datensatz erfolgreich erstellt.";
    } else {
    echo 
    "FEHLER: Die INSERT-Anweisung konnte nicht vorbereitet werden.";
    }
    // Den Benutzer umleiten.
    header("Location: view.php");
    }
    } else {
    // Wenn das HTML-Formular noch NICHT abgesandt wurde, dieses anzeigen.
    renderForm();
    }
    }
    // Die Verbindung zur Datenbank beenden.
    mysqli_close($conn);
    ?>
    Zuletzt geändert von jochen1404; 01.02.2023, 10:34.
Lädt...
X