Seite 1 von 1

get geht, aber post nicht, warum?

Verfasst: Samstag 27. November 2010, 16:17
von Geri879
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

Re: get geht, aber post nicht, warum?

Verfasst: Sonntag 28. November 2010, 01:38
von Leonidas
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.