From 1299ce57e0b2a2ea40d30a5a9083499ecd72d5ef Mon Sep 17 00:00:00 2001 From: DylanBarnes Date: Wed, 15 Jul 2026 14:18:25 +0000 Subject: [PATCH] Spielstand speichern - Form + UPDATE --- app/app.py | 46 +++++++++++++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 11 deletions(-) diff --git a/app/app.py b/app/app.py index 2660b73..c6a5e0f 100644 --- a/app/app.py +++ b/app/app.py @@ -127,24 +127,48 @@ def render_page(title, body_html): """ -@app.route("/") -@app.route("/app") -@app.route("/app/") +@app.route("/", methods=["GET", "POST"]) +@app.route("/app", methods=["GET", "POST"]) +@app.route("/app/", methods=["GET", "POST"]) def start(): - body = """ -

Verlassenes Raumschiff

-

Du bist der einzige Überlebende an Bord. Erkunde das Schiff und aktiviere das Notsignal.

-
- Mission starten -
- """ - return render_page("Verlassenes Raumschiff", body) + if request.method == "POST": # Formular abgeschickt? + name = request.form["name"].strip() + if name != "": + session["spieler"] = name # App merkt sich: das bist du + db = get_db() + db.execute( + "INSERT OR IGNORE INTO spielstand (spieler, raum_id) VALUES (?, 1)", + (name,) + ) + db.commit() + db.close() + return redirect("/app/raum/1") + + html = '

Verlies

' + if "spieler" in session: + db = get_db() + s = db.execute( + "SELECT raum_id FROM spielstand WHERE spieler=?", + (session["spieler"],) + ).fetchone() + db.close() + if s: + html = html + '

Willkommen zurück, ' + html.escape(session["spieler"]) + '!

' \ + + 'Weiterspielen
' + return html + '
Dein Name: ' \ + + '
' @app.route("/raum/", methods=["GET", "POST"]) @app.route("/app/raum/", methods=["GET", "POST"]) def raum(id): db = get_db() + if "spieler" in session: # angemeldet? + db.execute( + "UPDATE spielstand SET raum_id=? WHERE spieler=?", + (id, session["spieler"]) + ) + db.commit() r = db.execute("SELECT * FROM raeume WHERE id=?", (id,)).fetchone() if not r: db.close()