Formularinhalt als TXT Datei speichern

Django, Flask, Bottle, WSGI, CGI…
Antworten
b4shyou
User
Beiträge: 9
Registriert: Montag 1. Juni 2015, 14:30

Hey Leute =),

Ich hänge gerade etwas an einer Implementierung eines einfachen Ticketssystems.

Meine HTML Datei besteht aus 4 Eingabefeldern Name, Vorname,Email,Problem. Diese werden via post weitergegeben.

Nun soll ich via Phyton eine Txt Datei anlegen und den Inhalt des Formulars abspeichern.

Bisher sieht mein Skript so aus

Code: Alles auswählen

#!/usr/bin/phyton


import cgi
from distutils import text_file



form = cgi.FieldStorage()
f1 = form["name"].value
f2 = form["vorname"].value
f3 = form["email"].value
f4 = form["beschwerde"].value

text_file = open ("ticket", "w")

text_file.write(f1 )
text_file.write(f2 )
text_file.write(f3 )
text_file.write(f4 )

text_file.close()
Das Problem ist, das ich nicht weiß wie ich eine Datei abspeichern kann, deswegen hab ich versucht eine Datei zu öffnen und dann auf diese zu schreiben (was leider nicht der Aufgabenstellung entspricht)

Falls mir jemand helfen kann, wäre ich sehr dankbar =)

LG
Marci
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Was klappt jetzt genau nicht?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
b4shyou
User
Beiträge: 9
Registriert: Montag 1. Juni 2015, 14:30

Also gerade hab ich herausgefunden, dass es schon an der Ausführung hapert.
Also mit der Shebang Zeile.

Weil egal welche Pfade ich versuche, er führt das Skript gar nicht aus^^

LG
Marcel
BlackJack

@b4shyou: Als erstes solltest Du den Namen der Programmiersprache lernen. Im Beitrag kann man das ja mal falsch schreiben, aber in der she-bang-Zeile im Skript muss der Namen dann schon stimmen damit die Datei ausgeführt werden kann. ;-)

Und wieso entspricht das jetzt nicht der Aufgabenstellung?

Was soll der Import aus `distutils`? Warum haben die Werte so verdammt schlechte Namen? Ein Name soll dem Leser vermitteln was der Wert dahinter im Programm bedeutet. `f1` bis `f4` tun das ganz sicher nicht.

Fehlerbehandlung wäre nett, insbesondere wenn Daten von Benutzern über's Web kommen, muss man eigentlich mit allem rechnen. Zum Beispiel das nicht alle Felder/Daten vorhanden sind.

Je nach dem wie man das Skript in welchen Webserver einbindet kann das Arbeitsverzeichnis des Prozesses in dem das ausgeführt wird woanders liegen. Ein relativer einfacher Dateiname kann da Probleme bereiten wenn man das ganze im Server nicht so konfigurieren kann das diese Datei an der Stelle dann auch tatsächlich geschrieben werden darf.
b4shyou
User
Beiträge: 9
Registriert: Montag 1. Juni 2015, 14:30

aber selbst mit richtiger Schreibweise
#!/usr/bin/python3
will es noch nicht.

Der Import war nicht beabsichtigt :oops:

Über javascript hab ich abgesichtert, dass alle Felder ausgefüllt wurden
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Du versuchst ein CGI Skript zu starten?!?

Dann gibt es zig Fehlerquellen:

http://wiki.python-forum.de/Web-Skripte ... %20bringen

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

@b4shyou: Das ist keine besonders hilfreiche Fehlerbeschreibung. Was für Fehlermeldungen bekommst Du?

Was Du per JavaScript im Browser absicherst ist egal, der Benutzer muss ja nicht Dein Frontend verwenden.
b4shyou
User
Beiträge: 9
Registriert: Montag 1. Juni 2015, 14:30

Also wenn ich das Skript vom Server aufrufen möchte kommt diese Fehlermeldung
Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Stimmt, daran hab ich nicht gedacht!

LG
Marcel
BlackJack

@b4shyou: Und was steht im Fehlerprotokoll vom Webserver?
b4shyou
User
Beiträge: 9
Registriert: Montag 1. Juni 2015, 14:30

Das ist der Testserver von unserer Vorlesung und darauf hab ich leider keinen Zugriff.

Hab natürlich dort bereits nachgefragt,allerdings dauert dies halt immer seine Zeit
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:


GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

@b4shyou: Dann könnte es etwas schwierig werden…
Antworten