Formulareingaben mittels Script in MySQL-Datenbank

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
djculture
User
Beiträge: 1
Registriert: Montag 25. März 2019, 08:59

Hallo zusammen & einen schönen Abend,

nachdem ich hier eine Weile stiller Mitleser war, habe ich mich vor kurzem registriert und möchte als blutiger Anfänger gleich mal
einen Hilferuf an euch starten.

Meine Hardware:
Raspberry Pi 3B+ mit Raspian aus der offiziellen Quelle als Vollinstallation

Meine verwendete Software: (zusätzlich installiert)
MySQL/ Mariadb
PHP
Apache 2
phpMyAdmin

Mein Vorhaben:
Ich möchte ein in eine HTML- Seite eingebettetes Formular mit entsprechenden Daten ausfüllen, diese Daten sollen dann mittels
"Submit- Button" in eine bereits erstellte und lauffähige Datenbank geschrieben werden. Bisher habe ich sowohl ein HTML- Formular als auch ein
funktionierendes Python-Skript erstellt, welche beide unabhängig voneinander funktionieren.

Code: Alles auswählen

import mysql;
import mysql.connector;

try:
    connection = mysql.connector.connect(host = "localhost", user = "dbadmin", passwd = "0123456789", db = "customerdata")
    print "Verbindung erfolgreich hergestellt !!!"
        
except:
    print "Keine Verbindung zum Server"
    exit(0)

cursor = connection.cursor()
cursor.execute("INSERT INTO customer (ID,Hersteller, Modell, Kennzeichen) VALUES (%s,%s,%s,%s)",("30","Mercedes", "C220", "AB-CD237",))
    
cursor.close()
connection.commit()
print "Alle Daten wurden erfolgreich erfasst und eingetragen !!!"
print "BITTE DATENBANK UEBERPRUEFEN !!!"
Fülle ich das Script in einem geeigneten Editor aus, speichere es & führe es dann aus, so wird erfoglreich zur Datenbank connectet und die
Daten werden eingetragen, somit funktioniert das Script zumindest schon mal.

Nun müssen die im HTML- Formular eingegebenen Daten an eben dieses Script übergeben werden und dann in die Datenbank eingetragen werden.
(klein, experimentell & hässlich)

Code: Alles auswählen

<!DOCTYPE html>
<head>
<meta charset="UTF-8">

</head>


<body>

<div class="headline">
Customer Management
</div>
<div class="aussehen">
<form action="pythonscript.py">
<p>
<select size="1" name="Hersteller" style=width: 50px>
  <option>Mercedes</option>
  <option>Opel</option>
</select>
<p class="inputbox">Modell:<br>
<input type="text" name="Modell" size="50">
<p>
<p>
<input type="submit" value="Customer anlegen">
<input type="reset" value="Eingaben löschen">
</form>
</div>

</body>
Genau bei dieser Ausführung und Übergabe habe ich tatsächlich keinerlei Ideen und -für meinen frühen Status- brauchbare Ergebnisse gefunden & hoffe auf eure Hilfe.
Ich würde mich freuen, die ein oder andere Anregung aus dem Forum zu erhalten.

Gruß & Danke
dj
Sirius3
User
Beiträge: 17747
Registriert: Sonntag 21. Oktober 2012, 17:20

Python2 sollte man nicht mehr verwenden. Fang gleich mit Python3 an.
Keine nackten excepts, und Exceptions nur dann abfangen, wenn man sie auch sinnvoll verarbeiten kann, hier ist das nicht möglich, also weg mit dem try-except.
In dem Zusammenhang ist exit auch nur selten sinnvoll, vor allem wenn man bei einem Fehler den Exitcode 0 benutzt.

Für Python und HTML benutze am besten eines der weit verbreiteten Frameworks, Flask, Bottle, oder wenn Du einen den vollen Umfang brauchst Django. Alle haben einfache Tutorials zum Einstieg.

Lass Apache und PHP weg, das macht das nur umständlich und kompliziert.

Der HTML-Code ist nicht korrekt, es fehlt <html> ein paar Anführungszeichen, und die schließenden Tags der Paragraphen.
Antworten