« 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 MySQLdbcgitb
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 "<lih2>%sRechercher un nom</lih2>" % row[0]
print "</ul>"'''
<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()
cursor.execute("SELECT champ1page_title FROM table1page")
for row in cursor.fetchall():
print "<li>%s</li>" % row[0]
print "</ul>"
print "</body></html>"
connection.close()
</source>