Seite 1 von 1
Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 00:21
von skate4life
Hallo,
ich arbeite gerade in der Schule an einem Projekt indem ich über ein HTML Formular mit Python eine MySQL Datenbank abfragen soll und die Antwort wieder im Browser anzeigen lassen soll.
Ich hab das Formular fertig die Python Datei und SQL Datenbank.
In der Schule funktioniert das auch einwand frei.
Wenn ich jedoch bei mir zu Hause vom HTML Formular aus Werte eingebe und auf abschicken klicke, wird mir nur die komplette Python Datei als TEXT im Browser angezeigt. Obwohl die Datei fhelerfrei ist. Ich habe sie aus dem IDLE Editor ausgeführt und dort funktioniert alles, nur eben nicht über da HTML Formular.
Kennt ihr das Problem?
Ich hoffe ihr könnt mir helfen...
Vielen Dank
Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 08:15
von Leonidas
Wie ist die denn im Webserver integriert? CGI? WSGI? Noch irgendwie anders?
Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 10:56
von skate4life
CGI denke ich.
Hier ist mal das script von der Python Datei welche in der Schule funktioniert aber bei mir nicht.
Code: Alles auswählen
#!C:\python25\python.exe
import cgi, MySQLdb
form = cgi.FieldStorage()
print "Content-type: text/plain"
print
geschlecht = form.getvalue('geschlecht')
stufe = form.getvalue('stufe')
sportart = form.getvalue('sportart')
anzahl = form.getvalue('anzahl')
print "Ihre Auswahl:"
print "Geschlecht: %s" % geschlecht
print "Klassenstufe: %s" % stufe
print "Sportart bzw. Punkte: %s" % sportart
print "Anzahl: %s" % anzahl
stufe = "'%" + stufe + "%'"
conn = MySQLdb.connect(host="localhost", user="***", passwd="",db="Sportfest")
cursor = conn.cursor()
sql = """SELECT Name, Vorname, Geschlecht, Klasse, %s FROM bjs_data
WHERE
Klasse LIKE %s AND
Geschlecht = '%s'
ORDER BY %s DESC
Limit 0, %s; """ %(sportart, stufe, geschlecht, sportart, anzahl)
print "Ihre Abfrage lautet: ", sql
cursor.execute(sql)
rows = cursor.fetchall()
for row in rows:
print row
cursor.close()
conn.close()
oder seht ihr dort doch einen Fehler???
Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 12:21
von Leonidas
Welchen Webserver nutzt du und wie hast du ihn konfiguriert?
Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 12:25
von skate4life
Ich benutze xampplite 173. Den selben wie in der Schule
und was meinst du mit konfiguriert? Ich habe Mysql und Apache laufen...
Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 12:29
von BlackJack
@skate4life: Ein ziemlich kapitaler Fehler ist das Einsetzen von Nutzereingaben in eine SQL-Anfrage. Das solltest Du nicht machen weil so der Benutzer beliebiges SQL ausführen lassen kann. Siehe auch:
http://wiki.python.de/Parametrisierte%20SQL-Queries
Mit "konfiguriert" ist gemeint, wo und wie Du dem Server sagst welche Dateien er nicht einfach ausliefern, sondern sie als CGI-Anwendungen ausführen soll.
Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 12:35
von skate4life
Danke das du mich drauf aufmerksam machst aber ich hab das so gemacht wie in der Schule und xampplite ist doch auch kein richtiger Webserver sondern ein virtueller.

Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 12:36
von skate4life
Und mit der konfiguration kann ich im Moment ncihts anfangen.
Könnt ihr mir sagen wie mann xampplite konfigurieren müsste, um das zum laufen zu bringen?
Danke für eure Antworten!
Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 20:46
von noisefloor
Hallo,
grundsätzlich musst du dem Server beibringen, dass er .cgi Dateien ausführen darf. Im Moment kennt dein Server keine .cgi Dateien und sendet diese.
Was beim Python-eigenen HTTP-Server + CGI unter Windows aber schon hilft ist, die Datei von 'meine_datei.cgi' auf 'meine_datei.py' umzubenennen. Keine Ahnung, ob dass bei xamplite auch schon reicht...
Gruß, noisefloor
Re: Browser zeigt das Abfrage Ergebnis nicht an!
Verfasst: Sonntag 27. Februar 2011, 22:14
von skate4life
also meine python datein im xampplite Ordner: ../cgi-bin haben alle die Endung *.py
aber trotzdem danke für die Idee...
