revert Spielstand speichern - Form + UPDATE
This commit is contained in:
DylanBarnes 2026-07-15 16:26:45 +02:00
parent f760af8e31
commit a639f1b237

View file

@ -126,48 +126,24 @@ def render_page(title, body_html):
</html>""" </html>"""
@app.route("/", methods=["GET", "POST"]) @app.route("/")
@app.route("/app", methods=["GET", "POST"]) @app.route("/app")
@app.route("/app/", methods=["GET", "POST"]) @app.route("/app/")
def start(): def start():
if request.method == "POST": # Formular abgeschickt? body = """
name = request.form["name"].strip() <h1>Verlassenes Raumschiff</h1>
if name != "": <p>Du bist der einzige Überlebende an Bord. Erkunde das Schiff und aktiviere das Notsignal.</p>
session["spieler"] = name # App merkt sich: das bist du <div class="actions">
db = get_db() <a class="btn" href="/app/raum/1">Mission starten</a>
db.execute( </div>
"INSERT OR IGNORE INTO spielstand (spieler, raum_id) VALUES (?, 1)", """
(name,) return render_page("Verlassenes Raumschiff", body)
)
db.commit()
db.close()
return redirect("/app/raum/1")
html = '<h1>Verlies</h1>'
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 + '<p>Willkommen zurück, ' + html.escape(session["spieler"]) + '!</p>' \
+ '<a href="/app/raum/' + str(s["raum_id"]) + '" class="btn">Weiterspielen</a><hr>'
return html + '<form method="post">Dein Name: ' \
+ '<input name="name"> <button>Abenteuer starten</button></form>'
@app.route("/raum/<int:id>", methods=["GET", "POST"]) @app.route("/raum/<int:id>", methods=["GET", "POST"])
@app.route("/app/raum/<int:id>", methods=["GET", "POST"]) @app.route("/app/raum/<int:id>", methods=["GET", "POST"])
def raum(id): def raum(id):
db = get_db() 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() r = db.execute("SELECT * FROM raeume WHERE id=?", (id,)).fetchone()
if not r: if not r:
db.close() db.close()