Berechnungen durchführen

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

  • Berechnungen durchführen

    Hallo liebe Forenmitglieder,

    meine erste frage ist zum Aufbau meiner kleinen Berechnungswebseite, nichts kommerzielles, soll nur eine Anwendung für mich und ein zwei Berufskollegen (Zimmerer) werden.

    Die erste Seite dient zur Eingabe der Daten/ Maße, diese hab ich soweit als Formular in HTML erstmal erstellt. Dort stellt sich mir die Frage wie ich die Eingaben kontrollieren kann, damit nur Dezimalzahlen mit 3 Nachkommastellen eingegeben werden bzw. verarbeitet werden können.

    Diese Daten sollen dann über
    HTML-Code:
    <form action="berechnung.php" method="post" enctype="multipart/form-data" name="form1" >
    an die berechnung.php übergeben werden. Das ganze dann nur Serverseitig ohne das es im Browser auftaucht.

    Und zu guter letzt soll es in der sparren-ausgabe.php auftauchen wieder.

    Erste Frage: Ist das Konstrukt so richtig?
    Zweite Frage: Wie stelle ich es an die Eingaben zu kontrollieren?

    Wenn der Code zur ersten Seite benötigt wird bitte bescheid geben.

    Ich bedanke mich schonmal im voraus für jegliche Hilfe.

    LG Matze

  • #2
    Hallo Matze,

    gerne helfe ich dir bei deinem Projekt. Lass uns deine Fragen Schritt für Schritt angehen:

    Erste Frage: Ist das Konstrukt so richtig?

    Grundsätzlich sieht dein Konstrukt gut aus. Du hast ein HTML-Formular zur Dateneingabe, das an eine PHP-Seite zur Berechnung weitergegeben wird, und die Ergebnisse werden dann auf einer Ausgabeseite angezeigt. Das ist ein klassischer Ansatz und sollte für deine Anwendung gut funktionieren.

    Zweite Frage: Wie stelle ich es an, die Eingaben zu kontrollieren?

    Um sicherzustellen, dass der Benutzer nur Dezimalzahlen mit bis zu drei Nachkommastellen eingeben kann, kannst du sowohl clientseitige als auch serverseitige Validierung verwenden. Hier sind die Schritte, um dies zu erreichen:

    Clientseitige Validierung (HTML und JavaScript)
    1. HTML-Eingabefeld :
      • Verwende das input-Element mit dem Attribut type="text".
      • Stellen Sie ein pattern, um sicherzustellen, dass die Eingabe dem gewünschten Format entspricht.
    HTML-Code:
    <form action="berechnung.php" method="post" enctype="multipart/form-data" name="form1">
    <label for="decimalInput">Dezimalzahl (bis zu 3 Nachkommastellen):</label>
    <input type="text" id="decimalInput" name="decimalInput" pattern="^\d+(\.\d{1,3})?$" required>
    <input type="submit" value="Berechnen">
    </form>
    1. JavaScript :
      • Fügen Sie eine zusätzliche Validierung hinzu, um sicherzustellen, dass die Eingaben korrekt sind.
    HTML-Code:
    <script>
    document.getElementById('decimalInput').addEventListener('input', function (e) {
    const value = e.target.value;
    if (!/^\d+(\.\d{0,3})?$/.test(value)) {
    e.target.setCustomValidity('Bitte geben Sie eine Dezimalzahl mit bis zu 3 Nachkommastellen ein.');
    } else {
    e.target.setCustomValidity('');
    }
    });
    </script>
    Serverseitige Validierung (PHP)

    In der Regel berechnung.php stellen Sie sicher, dass die Eingaben auch serverseitig überprüft werden, da die clientseitige Validierung umgangen werden kann.

    PHP-Code:
    <?php
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $decimalInput $_POST['decimalInput'];

    // Validierung der Eingabe
    if (preg_match("/^\d+(\.\d{1,3})?$/"$decimalInput)) {
    // Eingabe ist gültig, führe Berechnung durch
    // Beispiel:
    $ergebnis $decimalInput 2// Hier deine Berechnung
    // Ergebnis weiterleiten oder speichern
    } else {
    // Eingabe ist ungültig
    echo "Ungültige Eingabe. Bitte geben Sie eine Dezimalzahl mit bis zu 3 Nachkommastellen ein.";
    }
    }
    ?>

    Ich hoffe, das hilft dir weiter!

    LG, Nico
    Webspace , Php

    Kommentar

    Lädt...
    X