« Programmation Python/L'interface CGI » : différence entre les versions
Contenu supprimé Contenu ajouté
Ligne 15 :
== Exemple ==
L'utilisation d'un formulaire nécessite un <code>import cgi</code><ref>http://fr.openclassrooms.com/informatique/cours/apercu-de-la-cgi-avec-python</ref>, pour une base de données [[MySQL]] c'est <code>import MySQLdb</code><ref>https://pypi.python.org/pypi/MySQL-python/1.2.5</ref>
Le fichier suivant nommé ''CGI_MySQL.py'' utilise ces deux modules, plus <code>cgitb</code> qui sert au débogage :
<source lang="python">
#!C:\Program Files (x86)\Python\python.exe
# -*- coding: UTF-8 -*-
print "Content-type: text/html; charset=utf-8\n\n"
print "<html><head><title>CGI BDD</title></head><body>"
print "<h1>Extraction MySQL</h1>"
print "<ul>"
import
cgitb.enable()
connection = MySQLdb.connect(user='login1', passwd='mdp1', db='base1')▼
import cgi, MySQLdb
cursor = connection.cursor()▼
formulaire = cgi.FieldStorage()
cursor.execute("SELECT champ1 FROM table1")▼
if formulaire.getvalue('nom') == None:
for row in cursor.fetchall():▼
print
<form action="CGI_MySQL.py" method="post">
print "</body></html>"▼
<input type="text" name="nom" />
connection.close()▼
<input type="submit"></form>
'''
else:
print "<h2>Résultat</h2>"
print "Liste des correspondances pour " + formulaire.getvalue('nom') + " :"
▲ connection = MySQLdb.connect(user='login1', passwd='mdp1', db='base1')
▲ cursor = connection.cursor()
▲ for row in cursor.fetchall():
print "<li>%s</li>" % row[0]
print "</ul>"
▲ print "</body></html>"
▲ connection.close()
</source>
|