Comment remplir une base de données avec un formulaire


 



Exemple concret:

Telecharger le zip contenant l'exemple complet

Ce code permet d'insérer du contenu dans une table access via un formulaire dans une page asp

Ma page asp s'appelle insert.asp
Ma base de données s'appelle tablePeople.mdb
Ma table s'appelle people.mdb:

ID
AutoNumber
Primary key
firstName
Text
lastName
Text
email
Text


Voici ma page insert.asp contenant un formulaire et le code asp pour que je puisse insérer les nouvelles données:

<%

'Je déclenche la lecture du code au moment où je clique sur le bouton submit, je mets donc une condition'

submit = Request.Form("submit")
if Request.form("Submit")="Submit" then

'Je récupère les données de mon formulaire, mon champs ID est un autonumber'


firstName=Request.Form("firstName")
lastName=Request.Form("lastName")
email=Request.Form("email")

'Je remplace les caractères incompatibles'

firstName=Replace(firstName,"'","''")
firstName=Replace(firstName,"<","&lt")
firstName=Replace(firstName,">","&gt")

lastName=Replace(lastName,"'","''")
lastName=Replace(lastName,"<","&lt")
lastName=Replace(lastName,">","&gt")

email=Replace(email,"'","''")
email=Replace(email,"<","&lt")
email=Replace(email,">","&gt")

'Connexion à la bdd'

DSN_BASE = "DBQ=" & Server.Mappath("tablePeople.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25"
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open DSN_BASE

'J'utilise une requête SQL pour insérer les éléments du formulaire'

SQL = "Insert Into people (firstName, lastName, email) Values ('"&firstName&"','"&lastName&"','"&email&"')"
conn.Execute(SQL)

'je referme ma connexion'

conn.close
set conn=nothing

'Je dirige le surfer vers la page de visualisation (voir tutoriaux select), il n'a plus besoin du formulaire (cette ligne n'est pas obligatoire)'

response.redirect "select.asp"

'Je ferme ma condition du submit, mon code asp et terminé'

end if

%>

<html>
<head>
<title></title>
</head>
<body>

'Je crée un formulaire que je nomme form1 et donc l'action se fait sur ma page insert.asp (tout se fait sur la même page)'

<form name="form1" method="post" action="insert.asp">

'Je nomme les différents champs du formulaire pour que je puisse récupérer les données. Le nom que j'utilise devra être le même que celui du request.form que j'utilise au début de mon script'

First Name: <input name="firstName" type="text">
<br>
Last Name: <input name="lastName" type="text">
<br>
E-mail: <input name="email" type="text" size="30">
<br>
<input type="submit" name="Submit" value="Submit">

</form>

</body>
</html>