get geht, aber post nicht, warum?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Gast

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: Alles auswählen

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: Alles auswählen

#!/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

rolgal
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Die einzige Erklärung die ich dafür hätte, ist dass dein HTML fehlerhaft ist. Jedenfalls hab ich es noch nie gesehen, dass Tags in einfachen Anführungszeichen standen (immer entweder ohne oder in doppelten, wie in SelfHTML). Vielleicht hat dein Browser ein Problem damit. Meiner hat es aber nicht und deswegen bin ich mir nicht sicher... musst du halt probieren.
Gast

hi milan!

eigentlich sollte es egal sein ob, ' oder "
du weisst ja, dass du ohnehin auf das ' ausweichen musst unter bestimmen umständen, z.b. in javascript anwendungen.

naja, es bleibt auch immer noch die frage warum es bei anderen mit post geht.

danke trotzdem

mfg

rolgal
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi rolgal,

ist nicht egal, es gibt nur ein " aber einige ' ' ` ˙


Gruß

Dookie
Gast

hi dookie!

was meinst du?

mfg

rolgal
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Hi Rolgal,

es gibt je nacht Zeichensatz einige Zeichen die wie ein "Singlequote" ausschaun. Aber immer nur ein Zeichen das wie ein "Doublequote" ausschaut.


Gruß

Dookie
Gast

hi dookie!


:roll: bin was die dinge angeht wohl zu leger


mfg

rolgal
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

och nö, ich bin nur auch schon darüber gestolpert, allerdings in einem anderen Zusammenhang :roll:


Gruß

Dookie
Martin_Simon
User
Beiträge: 5
Registriert: Sonntag 29. Februar 2004, 18:37
Wohnort: Eibenstock/Erzgebirge

Probier mal folgende Variante:

'''<form method='post' enctype='multipart/form-data' 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>'''

Ich hatte schon mal ähnliiche Schwierigkeiten, nach dem Einfügen von "enctype..." ging es.

Martin
Gast

hi martin!

meine antwort liess auf sich warten, weil ich einen computertotalschaden hatte und jetzt mal andere dinge vorrang hatten.

nun, es liegt nicht am enctype, leider.

trotzdem vielen dank für die hilfe

mfg

rolgal
Antworten