Formulaire html/python/sql
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir,
Je dois rendre un projet où l'on doit seulement utiliser python, html/css et une base de donnée SQL. Malheureusement, je n'arrive pas à enregistrer les donnée soumises par l'utilisateur dans ma base de donnée.
Voici mon code python :
import sqlite3
connexion = sqlite3.connect('repertoire.db')
cursor = connexion.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS REPERT(
Nom TEXT,
Prenom TEXT,
Numero INT,
PRIMARY KEY (Numero))
""")
connexion.commit()
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/')
def index():
return render_template("index.html")
@app.route('/EnrgNum', methods = ['GET'])
def EnrgNum():
return render_template("EnrgNum.html")
Nom = request.form['Nom'],
Prenom = request.form['Prenom'],
Numero = request.form['Numero']
print('Nom :',Nom,'prenom :', Prenom, 'num :',Numero)
data =(Nom,Prenom,Numero)
cursor.execute("INSERT INTO REPERT(Nom,Prenom,Numero) VALUES(?,?,?)", data)
connexion.commit()
cursor.close()
app.run(debug=True)
connexion.close()
voici mon code html :
<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Repertoire</title>
<link rel="stylesheet" href="{{url_for('static',filename='EnrgNum.css')}}">
<link href="http://fonts.cdnfonts.com/css/jk-abode" rel="stylesheet">
</head>
<body>
<div class="container">
<form>
<form action="http://localhost:5000/resultat" method="get">
<h1>Enregistrer un numero</h1>
<input type="text" placeholder="Nom: Doe" name="Nom" required><br>
<input type="text" placeholder="Prenom: John" name="Prenom" required><br>
<input type="tel" placeholder="Numéro de télephone: 00-00-00-00-00" pattern="[0-9]{2}-[0-9]{2}-[0-9]{2}-[0-9]{2}-[0-9]{2}" name="Numero" required><br>
<p><div class="Envoyer"><input type="submit" value="Envoyer"></div>
<p><br><a href="{{ url_for('index')}}">Retour vers la première page</a></p>
</form>
</div>
</body>
</html>
Merci d'avance !
- Formulaire html/python/sql
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Editeur html - Télécharger - HTML
- Formulaire de reclamation instagram - Guide
- Citizen code python - Accueil - Outils
5 réponses
Bonjour
Pour commencer, tu as une balise form en trop dans ton code HTML.
Ensuite, peux-tu nous dire si ton print affiche les informations de ton formulaire ou pas ?
Essaie d'ajouter un bloc try catch pour voir les éventuels erreurs.
Un truc du genre : (en remplaçant par tes variables bien entendu)
try:
cur.execute(sql_query, sql_data)
con.commit()
except sqlite3.Error as er:
print('SQLite error: %s' % (' '.join(er.args)))
print("Exception class is: ", er.__class__)
print('SQLite traceback: ')
exc_type, exc_value, exc_tb = sys.exc_info()
print(traceback.format_exception(exc_type, exc_value, exc_tb))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour,
Je n'ai jamais fait de flask, mais quelque chose me paraît étrange dans ton code.
En effet, ta fonction EnrgNum retourne à la ligne 27, et donc tu n'évalues jamais la ligne 33 responsable de l'insertion en base d'un nouvel enregistrement. Je suppose donc que la ligne 27 devrait être déplacée à la ligne 36.
Bonne chance