<%Option Explicit%> <% Response.CacheControl = "no-cache" Response.AddHeader "Pragma", "no-cache" Response.AddHeader "cache-control", "no-store" Response.Expires = -1 %> <% Dim MonDSN, MaConnexion MonDSN = "DBQ=" & Server.MapPath("../../../../database/livredor.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};" Set MaConnexion = Server.CreateObject("ADODB.Connection") MaConnexion.ConnectionTimeout = 30 MaConnexion.CommandTimeout = 30 MaConnexion.Open MonDSN Dim strCAPTCHA Dim SessionCAPTCHA Dim NumPageEnCours Dim TaillePage Dim MaxPages Dim MaxEnrgs Dim CombienDeRecs Dim RecordsetLivreOr Dim MessagePostOK Dim RequeteLivreOr Session.LCID = 2060 Function CheckCAPTCHA(valCAPTCHA) SessionCAPTCHA = Trim(Session("CAPTCHA")) Session("CAPTCHA") = vbNullString if Len(SessionCAPTCHA) < 1 then CheckCAPTCHA = False exit function end if if CStr(SessionCAPTCHA) = CStr(valCAPTCHA) then CheckCAPTCHA = True else CheckCAPTCHA = False end if End Function 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 %>
Pour nous encourager à continuer notre travail, laissez-nous un petit mot ...
N'oubliez d'entrer le code de vérification pour valider votre message.

Nom : value="<%=Request("Nom")%>"<%End If%>>
E-Mail : value="<%=Request("EMail")%>"<%End If%>>
Code : Code
Vérification : value="<%=Request("strCAPTCHA")%>"<%End If%>>
Commentaire :
<% End Function Function Livre2Txt(LeTxt) Dim TxtTmp TxtTmp = LeTxt TxtTmp = Replace(TxtTmp,"<",">") TxtTmp = Replace(TxtTmp,">",">") TxtTmp = Replace(TxtTmp,vbCrLf,"
") 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 %> <%If RecordsetLivreOr.EOF Then%>
Mon Livre d'Or
Cliquez ici pour signer le livre d'or


Le livre est vide pour l'instant

<%Exit Function%> <%Else%> <%Do UNTIL RecordsetLivreOr.EOF OR CombienDeRecs >= MaxEnrgs%> Message de "><%=Livre2Txt(RecordsetLivreOr("LivreNom"))%> le <%=WeekDayName(WeekDay(RecordsetLivreOr("LivreDate")))%> <%=Day(RecordsetLivreOr("LivreDate"))%> <%=MonthName(Month(RecordsetLivreOr("LivreDate")))%> <%=Year(RecordsetLivreOr("LivreDate"))%> à <%=RecordsetLivreOr("LivreHeure")%> <%=Livre2Txt(RecordsetLivreOr("LivreComment"))%>   <% RecordsetLivreOr.MoveNext CombienDeRecs = CombienDeRecs + 1 Loop%>
<%Call PagingBar()%>
<%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"), "'", "''") strCAPTCHA = Trim(Request.Form("strCAPTCHA")) strIP = Request.ServerVariables("REMOTE_ADDR") if CheckCAPTCHA(strCAPTCHA) = false then response.redirect ("error.htm") SignerLivreDor = False Exit Function End If if right(strEMail,10) = "@takoe.com" then%> Permission denied
<% SignerLivreDor = False Exit Function End If 'Verficiation de la validite des informations : '-------------------------------------------- For Each Item In Request.Form If Request.Form(Item) = "" Then%> Vous n'avez pas saisie tous les champs, veuillez saisir tous les champs.
<% SignerLivreDor = False Exit Function %> <%End If%> <%Next%> <%If InStr(strEmail,"@") = 0 OR InStr(strEmail,".") = 0 Then%> <%=Request.Form("EMail")%> ne semble pas être une e-mail valide veuillez la resaisir.
<% 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 "" Response.Write "" Response.Write "
" Response.Write "" 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 = "Première page : " Response.Write StrHTML StrHTML = "10 pages Précédente
" Response.Write StrHTML End If Response.Write "[" For i = CompteurDebut To CompteurFin If cstr(i) <> Cstr(NumPageEnCours) Then StrHTML = "Page " & i & "" Else StrHTML = "Page " & i & "" End If Response.Write StrHTML If i <> CompteurFin Then Response.Write " " Next Response.Write "]" If CompteurFin <> MaxPages Then StrHTML = "
10 pages Suivantes" Response.Write StrHTML StrHTML = " : Dernière page" Response.Write StrHTML End If Response.Write "
" Response.Write "
" End If End Sub %> Livre d'or
<%MessagePostOK = 1%> <%If Request("Signer") = 1 Then%> <%If SignerLivreDor() = True Then%>
Merci d'avoir signé notre livre d'or.


<%MessagePostOK = 1%> <%Else%><%MessagePostOK = 0%> Il y a eu un erreur.
<%End If%> <%End If%> <%Call AfficherLivreDor()%>
<%Call AfficheFormLivreDor(MessagePostOK)%>
<% MaConnexion.Close Set MaConnexion = Nothing %>