Un livre d'or avec un base de données et un seule page (index.asp). Il suffit juste de créer une base de donnée ac une seule table : T_guest_book
Soyez indulgent c'est ma première réalisation.
Source / Exemple :
<%
msg=""
Afficher=25 ' afficher les 25 derniers messages
select case request("action")
Case "Envoyer"
If trim(request("Nom"))="" OR trim(request("commentaire"))="" then
msg="<font face=arial size=2 color=red>Erreur : <br> Remplissez tous les champs </font><br>"
end if
if msg="" then ' tous les champs ont été remplis correctement
' Ouverture de la base et table T_guest_book
Set conn = Server.CreateObject("ADODB.Connection")
connstring="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath(".") & "/db.mdb"
conn.Open connstring
'Requête pour sélectionner tous les messages
sql = "SELECT * FROM T_guest_book"
'Création d'un objet message pour inscrire le message dans la base de données
Set message = Server.CreateObject("ADODB.Recordset")
message.Open sql, conn, 3, 3
message.AddNew
message.fields('"nom"')=trim(request("nom"))
message.fields('"message"')=trim(request("commentaire"))
message.fields('"date"')=now()
message.Update
'Fermeture des objets créés
message.close
set message=nothing
conn.close
set conn=nothing
' Redirection vers index.asp pour faire apparaître le message envoyé
response.redirect "index.asp"
end if
end select
%>
<html>
<head>
<title>Livre d'or</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Visual Studio 6.0">
</head>
<body bgcolor="#66ccff">
<%
'Connexion à la base de données
Set Conn = Server.CreateObject("ADODB.Connection")
Connstring="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath(".") & "/db.mdb"
Conn.Open connstring
%>
<%
' sélection de la table T_guest_book classée par date
sql = "SELECT * FROM T_guest_book"
sql = sql &" ORDER by Date DESC"
Set message = Server.CreateObject("ADODB.Recordset")
message.Open sql, conn, 3, 3
%>
<p><font face="Arial" color="#004080"><strong>LIVRE D'OR</strong></font></p>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="500">
<tr>
<td><font face="Arial"><small>Un Guest Book (ou livre d'or en français) vous offre la possibilité de laisser un commentaire sur notre site.</small><br></font>
</td>
</tr>
</table>
</center>
</div>
<p align="left"><font face="Arial"><br></font><%=msg%></p>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><p align="center"><font face="Arial" color="#004080"><strong>Ajouter un Message</strong></font></td>
<td valign="top"><p align="center"><font face="Arial" color="#004080"><strong>Contenu du Livre d'OR :</strong></font></td>
</tr>
<tr>
<td valign="top"><form method="POST" action="index.Asp">
<div align="center"><center><table border="0" cellpadding="3" width="100%">
<tr>
<td width="100%" bgcolor="#E1E7F7"><font face="Arial"><small>Votre Nom</small></font>:<br>
<input type="text" name="nom" size="20" value="<%=request("nom")%>"><p><font face="Arial"><small>Commentaire:</small><br>
<textarea rows="4" name="commentaire" cols="30"><%=request("commentaire")%></textarea></font></td>
</tr>
<tr>
<td width="100%" bgcolor="#C7D0EF"><div align="center"><center><p><input type="reset" value="Effacer" name="action"><input type="submit" value="Envoyer" name="action"></td>
</tr>
</table>
</center>
</div>
</form>
</td>
<td valign="top" align="center">
<div align="right">
<table border="0" cellpadding="2" width="400">
<%
'Test pour connaître le nombre de message
if message.recordcount>0 then%>
<%
i=1 ' compteur du nombre de message
' On exécute tant que l'on est pas au dernier enregistrement et que i est <= à 25
do while not message.eof AND i<=afficher
%>
<tr>
<td valign="top" bgcolor="#C7D0EF" width="30%"><font face="arial" size="2"><%=message.fields("date")%> </font></td>
<td valign="top" bgcolor="#E1E7F7" width="70%"><font face="arial" size="2"><b><%=message.fields("nom")%> : </b><%=message.fields("message")%><b><br></b></font></td>
</tr>
<%
i=i+1 ' on incrémente le compteur
'Allee au prochain enregistrement
message.movenext
loop
else
'Affiche un message signalant que le livre d'or est vide
Response.Write("<tr> <td valign=""top"" colspan=""2"">Le livre d'Or est vide </td></tr>")
end if
' Fermeture des objets créés
message.close
set message=nothing
conn.close
set conn=nothing
%>
</table>
</div>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
Conclusion :
Tout est dans le zip
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.