Login mit CGI
Verfasst: Samstag 6. Dezember 2014, 13:28
Hallo, ich hab ein Versionsproblem (2.x / 3.x)
Folgendes CGI-Python 2.x - Script läuft fehlerfrei.
übersetzt hab ich folgendemassen (1.) print in Klammern gesetzt, 2.) die Gänsefüsse durch Hochkommas und 3.) da has.key in Version 3 nicht mehr gibt aus form.has_key("login") jeweils durch ('login') in form ersetzt etc:
Es funktioniert aber noch nicht. Offensichtlich habe ich irgedwas noch nicht übersetzt oder falsch übersetzt.
Das Apache Error Log ist auch nicht gerade hilfreich:
Kann bitte jemand helfen oder ein Link zu dieser Thematik?
Danke
Folgendes CGI-Python 2.x - Script läuft fehlerfrei.
Code: Alles auswählen
#!/usr/local/bin/python
import cgi
def header(title):
print "Content-type: text/html\n"
print "<HTML>\n<HEAD>\n<TITLE>%s</TITLE>\n</HEAD>\n<BODY>\n" % (title)
def footer():
print "</BODY></HTML>"
form = cgi.FieldStorage()
password = "python"
if not form:
header("Login Response")
elif form.has_key("login") and form["login"].value != "" and form.has_key("password") and form["password"].value == password:
header("Connected ...")
print "<center><hr><H3>Welcome back," , form["login"].value, ".</H3><hr></center>"
print r"""<form><input type="hidden" name="session" value="%s"></form>""" % (form["login"].value)
print "<H3><a href=browse.html>Click here to start browsing</a></H3>"
else:
header("No success!")
print "<H3>Please go back and enter a valid login.</H3>"
footer()
Code: Alles auswählen
#!/usr/bin/python3
import cgi
def header(title):
print('Content-type: text/html\n')
print('<HTML>\n<HEAD>\n<TITLE>%s</TITLE>\n</HEAD>\n<BODY>\n" % (title)')
def footer():
print('</BODY></HTML>')
form = cgi.FieldStorage()
password = 'python'
if not form:
header('Login Response')
elif ('login') in form and form['login'].value != '' and ('password') in form and form['password'].value == password:
header('Connected ...')
print('<center><hr><H3>Welcome back,' , form['login'].value, '.</H3><hr></center>')
print("""<form><input type='hidden' name='session' value="%s"></form>""" % (form['login'].value)
print('<H3><a href=browse.html>Click here to start browsing</a></H3>')
else:
header('No success!')
print('<H3>Please go back and enter a valid login.</H3>')
footer()
Das Apache Error Log ist auch nicht gerade hilfreich:
Mit 2to3 Übersetzung hats auch nicht geklappt. Was hab ich vergessen?[Sat Dec 06 01:31:41 2014] [error] [client x] File "/usr/lib/cgi-bin/login.py", line 20, referer: http://x/py/login.html
[Sat Dec 06 01:31:41 2014] [error] [client x] print('<H3><a href=browse.html>Click here to start browsing</a></H3>'), referer: http://x/py/login.html
[Sat Dec 06 01:31:41 2014] [error] [client x] ___^, referer: http://x/py/login.html
[Sat Dec 06 01:31:41 2014] [error] [client x] SyntaxError: invalid syntax, referer: http://x/py/login.html
[Sat Dec 06 01:31:41 2014] [error] [client x] Premature end of script headers: login.py, referer: http://x/py/login.html
Kann bitte jemand helfen oder ein Link zu dieser Thematik?
Danke