Benötige Hilfe bei Web App Erstellung

Gast #5878065
Hallo Zusammen,

ich brauch mal wieder eure Unterstützung!
Es geht um folgendes, ich habe eine Web App erstellt.
Ziel ist es 1. das Datum einzugeben, 2. über ein Select Feld eine 
Station auszuwählen, 3. über Auswahlbuttons verschiedene Eingaben  zu 
machen.

Für das jeweilige Datum und die jeweilige Station sollen alle Eingaben 
der Auswahlbuttons in einer Datenbank gespeichert werden.

Zb Datum 17.06.2019 Station 3 (5x Auswahlbutton1, 3x Auswahlbutton3 usw)
Dann für jede Station bzw Datum eine neue Auswahl speichern.

Dazu habe ich bereits folgendes geschrieben (Html, PHP, SQL) :
Ich würde mich über euer Feedback und Hinweise freuen!
Vielen Dank im Voraus!

<html>

<?php
 include ("index.php");
 ?>

<head>
<title>Test WebApp</title></head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <html manifest="kaeltewagen.manifest">

<body>
<form method="post">
  <label>
     Datum:<br/>
    <input name="date" type="date" placeholder="Datum" style="height: 
50px; width: 100px;"/>
  </label>
  <label>
    <p> <form action="#"> </p>
    <label>Station:<br>
      <select name="top5" style="height: 50px; width: 100px;"/>
        <option>Station 1 </option>
        <option>Station 2 </option>
        <option>Station 3 </option>
        <option>Station 4 </option>
        <option>Station 5 </option>
      </select>

    </label>
  </form>
</main>
  <br/><br/><br/>
  <input type="button" name="button[Option1]" value="Auswahl 1" 
style="height: 50px; width: 100px;"/>
  <input type="button" name="button[Option2]" value="Auswahl 2" 
style="height: 50px; width: 100px;"/>
  <input type="button" name="button[Option3]" value="Auswahl 3" 
style="height: 50px; width: 100px;"/>
  <input type="button" name="button[Option4]" value="Auswahl 4" 
style="height: 50px; width: 100px;"/>
  <input type="button" name="button[Option5]" value="Auswahl 5" 
style="height: 50px; width: 100px;"/>

</form>



</body>
</html>

PHP Datei :

<?php
  $Option1   = +isset($_POST["button"]["Option1"]);
  $Option2   = +isset($_POST["button"]["Option2"]);
  $Option3  = +isset($_POST["button"]["Option3"]);
  $Option4  = +isset($_POST["button"]["Option4"]);
  $Option5  = +isset($_POST["button"]["Option5"]);

  $db = new PDO(
    'mysql:host=hostname;dbname=db',
    'username',
    'password'
  );

  if(($Option1 || $Option2 || $Option3 || $Option4 || $Option5 ) && 
@$_POST['name'] && @$_POST['date']){
    $sth = $dbh->prepare("INSERT INTO button_counter (name, datum, 
Option1, Option2, Option3, Option4, Option5) VALUES (?,?,?,?,?,?,?)");
    $sth->execute([$_POST['name'],$_POST['date'],$Option1,$Option2,$Option3, 
$Option4,$Option5]);
  }

  $counts = $db->execute("SELECT name, count(Option1), count(Option2), 
count(Option3), count(Option4), count(Option5) FROM button_counter GROUP 
BY name");
?>

SQL Datei :

CREATE TABLE button_counter (
  id INTEGER PRIMARY KEY,
  name VARCHAR(64) NOT NULL,
  datum DATE NOT NULL,
  savedate TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
  Option1 BIT NOT NULL DEFAULT 0,
  Option2 BIT NOT NULL DEFAULT 0,
  Option3 BIT NOT NULL DEFAULT 0,
  Option4 BIT NOT NULL DEFAULT 0
  Option5 BIT NOT NULL DEFAULT 0
);
Gast
Da das ganze auch Offline möglich sein soll bzw die Eingabedaten auch im 
Offlinebetrieb gespeichert werden sollen, habe ich mir folgendes 
überlegt :

Manifest Datei :

CACHE MANIFEST
index.php
schema.sql
WebApp_Test.html

.htaccess Datei:

AddType text/cache-manifest .manifest

Die eingegebenen Daten (Datum, Station, jeweilige Auswahl) sollen 
gespeichert werden und dann in die Datenbank geladen werden sobald das 
Gerät (Tablet/Laptop/usw) online geht.

Alle Dateien (Html, SQL, PHP, Manifest Datei, .htacsess) sind im selben 
Ordner gespeichert.

Die php Datei ist in der Html Datei eingebunden, müssen die anderen 
Dateien auch in der Html Datei eingebunden werden?
Gast
pierre schrieb:

Man kann auch auf dem Client die Daten ablegen, die sind dann nat. nur 
bei ihm verfügbar aber wenn das nur für eine Person sein soll ist das 
die einfachere Variante, brauchst kein Netz und kein MySQL.

Such mal nach:
Webstorage, sowas wie bessere Cookies, ohne Index.
IndexedDB oder WebSQL

WebSQL ist glaube ich inzw. veraltet sollte aber je nach Browser immer 
noch funktionieren.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.