get geht, aber post nicht, warum?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Geri879
User
Beiträge: 2
Registriert: Samstag 27. November 2010, 16:16

hallo zusammen!

ich habe zwei seiten, dir mir kopfweh machen. beide führen das aufgerufene cgi skript nicht aus wenn sie mit post aufgerufen werden.

es reicht vielleicht, wenn ich mal eine bespreche.
das erste ist eine seite zum login:

Code:

class AdminLoginSite(Site):


divb='''<div style='width:555; margin-top:150px; margin-bottom:125px;'>'''
content='''<form method='post' action='../cgi-bin/checklogin.py'>
<p class='text'>Bitte Passwort eingeben:</p>
<p class='text'><input type='password' name='passwort' size='10'></p>
<p class='text'><input type='Submit' value='abschicken'></p>
</form>'''



und nund das skript checklogin:


Code:

#!/usr/local/bin/python

from sites import AdminChooseSite, AdminLoginSite, ErrorSite

import cgi, md5

form=cgi.FieldStorage()

if form.has_key('passwort'):
password=form.getvalue('passwort')

target='/var/www/cgi-bin/admin.dat'

m=md5.new(password)
f=file(target,'r')
testpassword=f.read()
f.close()
if m.digest()==testpassword:
ok=AdminChooseSite()
else:
not_ok=ErrorSite('Falsches Passwort!','zum Login')

else:
not_ok=ErrorSite('Kein Passwort angegeben!','zum Login')



wie gesagt: tausche ich method post gegen get aus gehts, ansonsten bekomme ich die selbstdefinierte ErrorSite: Kein Passwort, zu sehen.

vielen dank im voraus
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Na dann lass dir doch die Zwischenergebnisse ausgeben, um den Fehler einzugrenzen.

Übrigens: wir haben hier im Forum extra Tags für Python-Code.

Übrigens: es gibt bessere Wege um solche Skripte zu schreiben. Siehe etwa Flask/Bottle.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten