Voici un petit livre d'or couplé avec mon autre fonction qui permet de faire un paging.
N'oubliez pas de mettre le fichier adovbs.inc (présent dans le zip) dans le même répertoire.
Source / Exemple :
<%Option Explicit%>
<!--#include file="adovbs.inc"-->
<%
' ************************************************************
' Code Réalisé par Nicolas SOREL ( Nix pour les intimes :) )
' Pour le site ASPFr.com
' Retrouvez d'autres scripts ASP sur www.ASPFr.com
' Vous avez le droit d'utiliser ce script dans vos pages mais si vous souhaitez
' l'exposer sur un autre site de programmation merci de me contacter
' (contact@vbfrance.com)
' ************************************************************
Dim MonDSN, MaConnexion
MonDSN = "DBQ=" & Server.MapPath("livredor.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};"
Set MaConnexion = Server.CreateObject("ADODB.Connection")
MaConnexion.ConnectionTimeout = 30
MaConnexion.CommandTimeout = 30
MaConnexion.Open MonDSN
Dim NumPageEnCours
Dim TaillePage
Dim MaxPages
Dim MaxEnrgs
Dim CombienDeRecs
Dim RecordsetLivreOr
Dim MessagePostOK
Dim RequeteLivreOr
Function AfficheFormLivreDor (RecupRequest)
' MessagePostOK = 0 => Récupère les Request et les met dans les champs (en cas d'erreur de saisie par exmple)
' MessagePostOK = 1 => Champs vide
%>
<div align="center"><font face="Arial" size="2">Pour nous encourager à continuer notre travail, laissez-nous un petit mot ...</font></div>
<br>
<form action="livredor.asp" method="post"><input type="hidden" name="Signer" value="1">
<table width="350" border="0" cellspacing="0" cellpadding="2" align="center">
<tr>
<td align="right"><font face="Arial" size="2"><b>Nom :</b></font></td>
<td><input type="text" name="Nom" size="35"<%If MessagePostOK = 0 Then%> value="<%=Request("Nom")%>"<%End If%>></td>
</tr>
<tr>
<td align="right"><font face="Arial" size="2"><b>E-Mail :</b></font></td>
<td><input type="text" name="EMail" size="35"<%If MessagePostOK = 0 Then%> value="<%=Request("EMail")%>"<%End If%>></td>
</tr>
<tr>
<td align="right" valign="top"><font face="Arial" size="2"><b>Commentaire :</b></font></td>
<td><textarea cols="30" rows="10" name="Comment"><%If MessagePostOK = 0 Then%><%=Request("Comment")%><%End If%></textarea></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="submit" value="Signer !"></td>
</tr>
</table>
</form>
<%
End Function
Function Livre2Txt(LeTxt)
Dim TxtTmp
TxtTmp = LeTxt
TxtTmp = Replace(TxtTmp,"<",">")
TxtTmp = Replace(TxtTmp,">",">")
TxtTmp = Replace(TxtTmp,vbCrLf,"<br>")
Livre2Txt = TxtTmp
End Function
Function AfficherLivreDor ()
NumPageEnCours = Request("quelpage")
If NumPageEnCours = "" then NumPageEnCours = 1
TaillePage=10
' Construction de la requete SQL :
' ------------------------------
RequeteLivreOr = "SELECT * FROM livredor ORDER BY LivreDate DESC, LivreHeure DESC"
' Recup des donnees dans la base :
' ------------------------------
Set RecordsetLivreOr = Server.CreateObject("ADODB.Recordset")
RecordsetLivreOr.cursorlocation = aduseclient
RecordsetLivreOr.cachesize = 5
RecordsetLivreOr.Open RequeteLivreOr,MaConnexion
RecordsetLivreOr.pagesize = TaillePage
MaxPages = Cint(RecordsetLivreOr.pagecount)
MaxEnrgs = Cint(RecordsetLivreOr.pagesize)
If Not RecordsetLivreOr.EOF Then RecordsetLivreOr.absolutepage = NumPageEnCours
CombienDeRecs=0
%>
<table width="400" border="0" align="center" class="ListeOr">
<tr>
<td align="Center"><font face="Arial" size="4" color="#000080"><b>Mon Livre d'Or à MOI que j'ai ! :)</b></font><br><font face="Arial" size="2"><a href="#signer">Cliquez ici</a> pour signer le livre d'or<br><br></font></td>
</tr>
<%If RecordsetLivreOr.EOF Then%>
<tr><td align="center"><font face="Arial" size="2"><b>Le livre est vide pour l'instant</b></font><br><br></td></tr>
</table>
<%Exit Function%>
<%Else%>
<%Do UNTIL RecordsetLivreOr.EOF OR CombienDeRecs >= MaxEnrgs%>
<tr><td align="right" bgcolor="#FFFFB0"><font face="Arial" size="1">Message de <a href="mailto:<%=Livre2Txt(RecordsetLivreOr("LivreEMail"))%>"><%=Livre2Txt(RecordsetLivreOr("LivreNom"))%></a> le <%=WeekDayName(WeekDay(RecordsetLivreOr("LivreDate")))%> <%=Day(RecordsetLivreOr("LivreDate"))%> <%=MonthName(Month(RecordsetLivreOr("LivreDate")))%> <%=Year(RecordsetLivreOr("LivreDate"))%> à <%=RecordsetLivreOr("LivreHeure")%></font></td></tr>
<tr><td align="left"><font face="Arial" size="2"><%=Livre2Txt(RecordsetLivreOr("LivreComment"))%></font></td></tr>
<tr><td> </td></tr>
<%
RecordsetLivreOr.MoveNext
CombienDeRecs = CombienDeRecs + 1
Loop%>
<tr><td align="center"><div align="center"><%Call PagingBar()%></div></td></tr>
</table>
<%End If%>
<%
RecordsetLivreOr.Close
Set RecordsetLivreOr = Nothing
End Function
Function SignerLivreDor()
' Recuperation des donnees utilisateur :
' ------------------------------------
Dim strNom, strEMail, strComment, strIP, Item
strNom = Replace(Request.Form("Nom"), "'", "''")
strEMail = Replace(Request.Form("EMail"), "'", "''")
strComment = Replace(Request.Form("Comment"), "'", "''")
strIP = Request.ServerVariables("REMOTE_ADDR")
'Verficiation de la validite des informations :
'--------------------------------------------
For Each Item In Request.Form
If Request.Form(Item) = "" Then%>
<font color="#FF0000">Vous n'avez pas saisie tous les champs, veuillez saisir tous les champs.<br></font>
<%
SignerLivreDor = False
Exit Function
%>
<%End If%>
<%Next%>
<%If InStr(strEmail,"@") = 0 OR InStr(strEmail,".") = 0 Then%>
<font color="#FF0000"><font color="#0000FF"><%=Request.Form("EMail")%></font> ne semble pas être une e-mail valide veuillez la resaisir.<br></font>
<%
SignerLivreDor = False
Exit Function
%>
<%End If%>
<%
' Construction de la requete SQL :
' ------------------------------
RequeteLivreOr = "INSERT INTO livredor (LivreNom, LivreEMail, LivreComment, LivreIP)"
RequeteLivreOr = RequeteLivreOr & "VALUES('" & strNom & "', '" & strEMail & "', '" & strComment &"', '" & strIP &"')"
' Ajout des donnees dans la base :
' ------------------------------
MaConnexion.Execute RequeteLivreOr
If Err.Number = 0 Then
SignerLivreDor = True
Else
SignerLivreDor = False
End If
End Function
%>
<%
Sub PagingBar()
Dim StrHTML
Dim PageEnCours
Dim CompteurFin, CompteurDebut
Dim i, LesVars, Item
If MaxPages <> 0 Then
PageEnCours = Request.ServerVariables("script_name")
Response.Write "<table rows=""1"" cols=""1"" width=""97%""><tr>"
Response.Write "<td align=""center"">"
Response.Write "<font size=""2"" color=""#000000"" face=""Verdana, Arial,Helvetica, sans-serif"">"
LesVars = ""
For each Item In Request.Form
If LCase(Item) <> "quelpage" And LCase(Item) <> "taillepage" Then
LesVars = LesVars & "&" & LCase(Item) & "=" & server.URLencode(Request.Form(Item))
End If
Next
For each Item In Request.QueryString
If LCase(Item) <> "quelpage" And LCase(Item) <> "taillepage" Then
LesVars = LesVars & "&" & LCase(Item) & "=" & server.URLencode(Request.QueryString(Item))
End If
Next
If (NumPageEnCours mod 10) = 0 Then
CompteurDebut = PageEnCours - 9
Else
CompteurDebut = NumPageEnCours - (NumPageEnCours mod 10) + 1
End If
CompteurFin = CompteurDebut + 9
If CompteurFin > MaxPages Then CompteurFin = MaxPages
If CompteurDebut <> 1 Then
StrHTML = "<a href=""" & PageEnCours
StrHTML = StrHTML & "?quelpage=" & 1
StrHTML = StrHTML & "&taillepage=" & TaillePage
StrHTML = StrHTML & LesVars
StrHTML = StrHTML & """>Première page</a> : "
Response.Write StrHTML
StrHTML = "<a href=""" & PageEnCours
StrHTML = StrHTML & "?quelpage=" & (CompteurDebut - 1)
StrHTML = StrHTML & "&taillepage=" & TaillePage
StrHTML = StrHTML & LesVars
StrHTML = StrHTML & """>10 pages Précédente</a> <br>"
Response.Write StrHTML
End If
Response.Write "["
For i = CompteurDebut To CompteurFin
If cstr(i) <> Cstr(NumPageEnCours) Then
StrHTML = "<a href=""" & PageEnCours
StrHTML = StrHTML & "?quelpage=" & i
StrHTML = StrHTML & "&taillepage=" & TaillePage
StrHTML = StrHTML & LesVars
StrHTML = StrHTML & """>Page " & i & "</a>"
Else
StrHTML = "<b>Page " & i & "</b>"
End If
Response.Write StrHTML
If i <> CompteurFin Then Response.Write " "
Next
Response.Write "]"
If CompteurFin <> MaxPages Then
StrHTML = "<br><a href=""" & PageEnCours
StrHTML = StrHTML & "?quelpage=" & (CompteurFin + 1)
StrHTML = StrHTML & "&taillepage=" & TaillePage
StrHTML = StrHTML & LesVars
StrHTML = StrHTML & """>10 pages Suivantes</a>"
Response.Write StrHTML
StrHTML = " : <a href=""" & PageEnCours
StrHTML = StrHTML & "?quelpage=" & MaxPages
StrHTML = StrHTML & "&taillepage=" & TaillePage
StrHTML = StrHTML & LesVars
StrHTML = StrHTML & """>Dernière page</a>"
Response.Write StrHTML
End If
Response.Write "<br></font>"
Response.Write "</td>"
Response.Write "</table>"
End If
End Sub
%>
<html>
<head>
<title>Livre d'or par Nix</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#0000FF" alink="#FF0000">
<br><font face="Arial" size="2">
<%MessagePostOK = 1%>
<%If Request("Signer") = 1 Then%>
<%If SignerLivreDor() = True Then%>
<br><div align="center"><b>Merci d'avoir signé notre livre d'or.</b></div><br><br><%MessagePostOK = 1%>
<%Else%><%MessagePostOK = 0%>
Il y a eu un erreur.<br>
<%End If%>
<%End If%>
<%Call AfficherLivreDor()%>
<br><a name="signer"><%Call AfficheFormLivreDor(MessagePostOK)%>
</font>
</body>
</html>
<%
MaConnexion.Close
Set MaConnexion = Nothing
%>
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.