<%Option Explicit%> <% ' ************************************************************ ' 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 %> Livre d'or par Nix livredor2

Merci de me laisser un commentaire ou vos impressions afin que j'améliore mon site!!!


Nom : <%End If%>>
E-Mail : <%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%>


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"), "'", "''") strIP = Request.ServerVariables("REMOTE_ADDR") 'Verficiation de la validite des informations : '-------------------------------------------- For Each Item In Request.Form If Request.Form(Item) = "" Then%> <% SignerLivreDor = False Exit Function %> <%End If%> <%Next%> <%If InStr(strEmail,"@") = 0 OR InStr(strEmail,".") = 0 Then%> <%=Request.Form("EMail")%> <% 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 %>
<%MessagePostOK = 1%> <%If Request("Signer") = 1 Then%> <%If SignerLivreDor() = True Then%>
Merci d'avoir signé mon livre d'or.


<%MessagePostOK = 1%> <%Else%><%MessagePostOK = 0%> <%End If%> <%End If%> <%Call AfficherLivreDor()%>
<%Call AfficheFormLivreDor(MessagePostOK)%> <% MaConnexion.Close Set MaConnexion = Nothing %>