Récemment, je suis devenu obsédé par la création de sites Web. J'ai utilisé ASP pour développer. J'ai découvert qu'ASP présentait de nombreuses failles et que de nombreux codes étaient réutilisés dans un site Web. J'ai donc vérifié certaines informations et découvert que l'idée de Les classes peuvent être utilisées en ASP, j'ai donc écrit cette classe. Elle n'est pas bien écrite, mais elle est assez pratique.
<méta http-equiv="Content-Type" content="text/html; charset=gb2312">
<%
Const Btn_First="<font face='webdings'>9</font>" 'Définir le style d'affichage du bouton de la première page
Const Btn_Prev="<font face='webdings'>3</font>" 'Définir le style d'affichage du bouton de la page précédente
Const Btn_Next="<font face='webdings'>4</font>" 'Définir le style d'affichage du bouton de la page suivante
Const Btn_Last="<font face='webdings'>:</font>" 'Définir le style d'affichage du bouton de la dernière page
Classe clsDSJ
Privé p_Error, p_IpAdd, p_Debug, Errs
Privé p_InvaildWords
tmpStr privé
ObjConnDivPage privé, rsDivPage, p_GetSQL, p_nPage
Privé p_rsPageSize, p_intCurPage, p_strURL, p_intTotalPage, p_intTotalRecords
Privé p_dbType, p_dbFolder, p_DataBase, dbPath, p_dbUserID, p_dbPassword, p_sqlDataSource
Param_DataBase privé, param_dbUserID, param_dbPassword, param_dbType
'Propriété
ObjConn public, ConnStr, SQLQueryNum
Journal public, WebURL
Journal de sauvegarde public
Codes d'erreur publics, ErrCode, ErrMsg
Dossier de script public, nom du script
Sous-classe privée_Initialize
p_Debug=Vrai
ClientConnecté
SaveLog=Vrai
ErrMsg=""
p_Erreur=0
NuméroRequêteSQL=0
Initialisation de la connexion à la base de données Rem
dbType=12 'Prendre 1x——Access, 2x——SQL x1——OLEDB, x2——ODBC;
dbFolder="Données"
Base de données="zhubizidatabase.MDB"
dbUserID=""
dbPassword=""
sqlDataSource=""
p_rsPageSize=10
'p_nPage=2
Si request("page")="" Alors
p_intCurPage=1
ElseIf NOT IsNumeric(request("page")) Then
p_intCurPage=1
ElseIf CInt(Trim(request("page")))<1 Then
p_intCurPage=1
Autre
p_intCurPage=CInt(Trim(request("page")))
Fin si
WebURL=" http://blog.csdn.net/alonesword/ "
tmpStr=Request.ServerVariables("PATH_INFO")
tmpStr=Split(tmpStr,"/",-1)
Nom du script=Lcase(tmpStr(UBound(tmpStr)))
ScriptFolder=LCase(tmpStr(UBound(tmpStr)-1)) & "/"
p_InvaildWords=" select|update|delete|insert|@|--|;|'|#|%|xp|cmd|shell "
Fin du sous-marin
Sous-classe privée_terminate()
Si IsObject(rsDivPage) Alors rsDivPage.Close:Set rsDivPage=Nothing
Si IsObject (objConn) Alors objConn.Close: Set objConn = Rien
Fin de
la propriété sous-publique Obtenir la version
Version="DSJ 1.1.0 Bêta"
Propriété de fin
Propriété publique Obtenez une erreur
Erreur=p_Erreur
Propriété de fin
Propriété publique Obtenir le débogage
Débogage=p_Debug
Propriété de fin
Propriété publique Let Debug (BoolDebug)
Si BoolDebug Alors
p_Debug=Vrai
Autre
p_Debug=Faux
Fin si
Propriété de fin
Propriété publique Obtenir dbType
dbType=p_dbType
Propriété de fin
Propriété publique Let dbType(lngdbType)
Si IsNumeric (lngdbType) Alors
p_dbType=lngdbType
Autre
p_dbType=12
Fin si
Propriété de fin
Propriété publique Obtenir dbFolder
dbFolder=p_dbDossier
Propriété de fin
Propriété publique Let dbFolder(strFolder)
Si Right(strFolder,1)="" OU Right(strFolder,1)="/" Alors
p_dbFolder=strDossier
Autre
Si (NOT IsNull(strFolder)) OR (strFolder<>"") Alors
p_dbFolder=strDossier & ""
Autre
p_dbFoler=""
Fin si
Fin si
Propriété de fin
Propriété publique Obtenir la base de données
Base de données=p_dataBase
Propriété de fin
Base de données de location de propriété publique (strDataBase)
p_dataBase=strDatabase
Propriété de fin
Propriété publique Obtenir dbUserID
dbUserID=p_dbUserID
Propriété de fin
Propriété publique Let dbUserID(strDataBaseUserID)
p_dbUserID=strDataBaseUserID
Propriété de fin
Propriété publique Obtenir dbPassword
dbPassword=p_dbPassword
Propriété de fin
Propriété publique Laissez dbPassword(strDataBasePassword)
p_dbPassword=strDataBasePassword
Propriété de fin
Propriété publique Obtenir SQLDataSource
SQLDataSource=p_sqlDataSource
Propriété de fin
Propriété publique Let SQLDataSource(strSQLDataSource)
Si strsqlDataSource<>"" Alors
Si Gauche(p_dbType,1)=2 Alors
p_sqlDataSource=strSQLDataSource
Autre
Ajouter un code d'erreur (110)
p_sqlDataSource=""
Fin si
Fin si
Propriété de fin
Propriété publique Laisser PageSize(int_PageSize)
Si IsNumeric (Int_Pagesize) Alors
p_rsPageSize=CLng(int_PageSize)
Fin si
Propriété de fin
Propriété publique Obtenir la taille de la page
Si p_rsPageSize="" ou NOT IsNumeric(p_rsPageSize) Alors
Taille de la page = 8
Autre
Taille de la page=p_rsTaille de la page
Fin si
Propriété de fin
Propriété publique Get GetRs()
Si ce n'est pas le cas, déboguer, en cas d'erreur, reprendre ensuite
Si PAS IsObject (objConn) alors ConnectionDataBase dbDataBase, dbUserID, dbPassword, dbType
Si PAS IsObject(rsDivPage) Alors
Définir rsDivPage=Server.createobject("adodb.recordset")
rsDivPage.Open GetSQL,objConn,1,1
rsDivPage.PageSize=Taille de la page
Sinon (rsDivPage.eof et rsDivPage.BOF) Alors
Si p_intCurPage>rsDivPage.PageCount Alors
p_intCurPage=rsDivPage.PageCount
Fin si
rsDivPage.AbsolutePage=p_intCurPage
Fin si
Si erreur alors
Err.Effacer
rsDivPage.Fermer
Définir rsDivPage=Rien
Si SaveLog Alors
tmpMsg="Erreur de connexion à la base de données, veuillez vérifier si votre code de requête est correct.<br>Pour des raisons de sécurité, seul ce message s'affiche. Pour afficher les messages d'erreur détaillés, veuillez définir dsj.Debug=True"
Réponse.Write SaveSQLLog(cmd,tmpMsg)
Autre
Response.Write "Erreur de connexion à la base de données, veuillez vérifier si votre code de requête est correct."
Fin si
Réponse.Fin()
Fin si
NuméroRequêteSQL=NumRequêteSQL+1
Définir GetRs = rsDivPage
Fin si
Propriété de fin
Propriété publique Let GetSQL(str_sql)
Si str_sql<>"" Alors
p_GetSQL=str_sql
Autre
Ajouter un code d'erreur (111)
Si débogage alors ShowErrMsg()
p_GetSQL="La propriété de GetSQL est NULL."
Fin si
Propriété de fin
Propriété publique Get GetSQl()
GetSQL=p_GetSQL
Propriété de fin
'******************************
'Nom : gotTopic
'Paramètres : str, strlen
'Valeur de retour : chaîne restreinte
'Heure de création : 3 mars 2005
'Fonction : limiter la chaîne restreinte
'******************************
Fonction publique GotToPic(str,strlen)
Rem limite la longueur d'affichage de la chaîne à une certaine plage
Dim i, StringLen, CharSize, EchoCharType
StringLen=len(str)
TailleChar=0
Pour i=1 à StringLen
EchoCharType=Abs(Asc(Mid(str,i,1)))
Si EchoCharType>255 Alors
TailleChar=TailleChar+2
Autre
TailleChar=TailleChar+1
Fin si
Si CharSize>strlen Alors
gotTopic=Gauche(str,i) & "..."
Quitter pour
Autre
gotTopic=str & ""
Fin si
Suivant
Fonction de fin
'******************************
'Nom : ChkInvStr
'Paramètre : Str
'Valeur de retour : Vrai/Faux
'Heure de création : 2 mai 2005
'Fonction : Vérifier si les paramètres contiennent des caractères illégaux
'******************************
Fonction publique ChkInvStr(Str)
Rem définit les caractères illégaux qui doivent être filtrés
Dim InvaildWord,inWords,i
Str=CStr(Str)
ChkInvStr=Faux
Si Len(Replace(p_InvaildWords,Chr(0),""))<1 Alors
AddErrorCode(103) 'les mots invalides sont nuls
Fonction de sortie
Autre
Si Instr(1,p_Invaildwords,"|")>0 Alors
InvaildWord=Split(p_InvaildWords,"|")
inWords=LCase(Trim(Str))
Pour i=LBound(InvaildWord) À UBound(InvaildWord)
Si Instr(inWords,InvaildWord(i))>0 Alors
p_Erreur=1982
Ajouter un code d'erreur (105)
ChkInvStr=Vrai
Fonction de sortie
Fin si
Suivant
Autre
AddErrorCode(104) '"|" est requis.
Fonction de sortie
Fin si
Fin si
Fonction de fin
'******************************
'Nom : GetIP
'Paramètre : NULL
'Valeur de retour : NULL
'Heure de création : 3 mai 2005
'Fonction : Obtenir l'adresse IP de l'utilisateur
'******************************
Fonction publique GetIP()
p_IpAdd=Request.ServerVariables("HTTP_X_FORWARDED_FOR")
Si IsNull(p_IpAdd) OU p_IpAdd="" Alors
p_IpAdd=Request.ServerVariables("REMOTE_ADDR")
Fin si
GetIp=p_IpAdd
Fonction de fin
'******************************
'Nom : Adresse IP
'Paramètre : gorgée
'Valeur de retour : Comté, Ville
'Fonction : composition et conversion du contenu des données
'Heure de création : 6 mai 2005
'Source : www.downcodes.com
'******************************
Adresse IP de fonction publique (SIP)
Faible IPConnStr, IPConn, IPAddressDB
Dim str1, str2, str3, str4
Dim num
Dim pays, ville, adresse
Dim IPR, SQL
adresse="inconnue"
Si EstNumérique(Gauche(sip,2)) Alors
Si sip="127.0.0.1" Alors sip="192.168.0.1"
str1=Gauche(sip,InStr(sip,".")-1)
sip=mid(gorgée,instr(gorgée,".")+1)
str2=Gauche(sip,instr(sip,".")-1)
sip=Mid(gorgée,InStr(gorgée,".")+1)
str3=Gauche(sip,instr(sip,".")-1)
str4=Mid(gorgée,instr(gorgée,".")+1)
Si isNumeric(str1)=0 ou isNumeric(str2)=0 ou isNumeric(str3)=0 ou isNumeric(str4)=0 Alors
Autre
num=CLng(str1)*16777216+CLng(str2)*65536+CLng(str3)*256+CLng(str4)-1
AdresseIPDB = "DSJ_Ipaddress.mdb"
IPConnStr = "Provider = Microsoft.Jet.OLEDB.4.0; Source de données = " & Server.MapPath (p_dbFolder & IPAddressDB)
Définir IPConn = Server.CreateObject("ADODB.Connection")
IPConn.Open IpConnStr
pays="Asie"
ville=""
sql="sélectionnez le premier pays et ville dans DSJ_IPAddress où ip1 <="&num&" et ip2 >="&num&""
Définir IPRs=IPConn.execute(sql)
Si non (IPRs.EOF et IPRs.bof) alors
pays = DPI (0)
ville=IPR(1)
Fin si
IpRs.Close: Définir IPRs = Rien
IPConn.CLose : Définir IPConn = Rien
NuméroRequêteSql = NuméroRequêteSql+1
Fin si
Adresse IP = pays et ville
Fin si
Fonction de fin
'******************************
'Nom : ClientConnecté
'Paramètre : NULL
'Valeur de retour : NULL
'Heure de création : 5 mai 2005
'Fonction : Obtenir si l'utilisateur est connecté au serveur
'******************************
Sous-client public connecté ()
Si Response.IsClientConnected alors
Réponse.Flush()
Autre
Réponse.Fin()
Fin si
Fin du sous-marin
'******************************
'Nom : ChkPost
'Paramètre : NULL
'Valeur de retour : Vrai/Faux
'Heure de création : 5 mai 2005
'Fonction : Vérifier la source des données soumises
'******************************
Fonction publique ChkPost()
Dim Serveur_v1,Serveur_v2
ChkPost=Faux
Serveur_v1=CStr(Request.ServerVariables("HTTP_REFERER"))
Server_v2=CStr(Request.ServerVariables("SERVER_NAME"))
Si Mid(Server_v1,8,Len(Server_v2))=Server_v2 Alors ChkPost=True
Fonction de fin
'******************************
'Nom : AddErrorCode
'Paramètre : CodeErreur
'Valeur de retour : ErrCodes
'Heure de création : 3 mai 2005
'Fonction : Ajouter des codes d'erreur à ErrCodes
'******************************
Sous-public AddErrorCode (ErrCode)
Si ErrCodes="" Alors
ErrCodes=ErrCode
Autre
ErrCodes=ErrCodes & "," & ErrCode
Fin si
Fin du sous-marin
'******************************
'Nom : ShowErrMsg
'Paramètre : NULL
'Valeur de retour : NULL
'Heure de création : 3 mai 2005
'Fonction : Afficher des informations détaillées sur les erreurs
'******************************
Fonction publique ShowErrMsg()
Si PAS p_Debug Alors en cas d'erreur Reprendre ensuite
Si ErrCodes<>"" Alors
iErrCodes=Split(ErrCodes,",",-1,Binaire)
Pour i=LBound(iErrCodes) Vers UBound(iErrCodes)
tmpErrCode=CLng(iErrCodes(i))
Si IsNumeric(tmpErrCode) Alors
ErrMsg=ErrMsg & ErrDetails(tmpErrCode)
Fin si
Suivant
Fin si
ShowErrMsg=ErrMsg
Fonction de fin
'******************************
'Nom : Base de données de connexion
'Paramètres : Base de données, p_dbUserID, p_dbPassword, p_dbType
'Valeur de retour : NULL
'Fonction : se connecter à la base de données
'Heure de création : 6 mai 2005
'******************************
Fonction publique ConnectionDataBase (param_DataBase, param_dbUserID, param_dbPassword, param_dbType)
Si ce n'est pas le cas, p_Debug, alors en cas d'erreur, reprise suivante
ClientConnecté
Si IsNumeric(param_dbType) Alors
Définir objConn=Server.CreateObject("ADODB.Connection")
objConn.ConnectionTimeOut=10 'Définissez le délai d'expiration de la connexion sur 10 secondes
dbPath=Serveur.MapPath(p_dbFolder¶m_DataBase)
'Réponse.Écrire dbPath
Sélectionnez le cas param_dbType
Cas 11 : « Accès à la base de données (OLEDB)
ConnStr="Provider=Microsoft.Jet.Oledb.4.0;Source de données="&dbPath&";ID utilisateur="¶m_dbUserID&";Password="¶m_dbPassword&""
Cas 21 : 'SQL Server (OLEDB)
ConnStr="Provider=SQLOLEDB;Catalogue initial="¶m_DataBase&";Source de données="&p_sqlDataSource&";ID utilisateur="¶m_dbUserID";Password="¶m_dbPassword""
Cas 12 : « Accès à la base de données (ODBC)
ConnStr="Driver={Pilote Microsoft Access (*.mdb)};DBQ="&dbPath&";User ID="¶m_dbUserID";Password="¶m_dbPassword
Cas 22 : 'SQL Server (ODBC)
ConnStr="Driver={SQL Server};DataBase="¶m_DataBase&";Server="&p_sqlDataSource";User ID="¶m_dbUserID";Password="¶m_dbPassword""
Autre cas :
Ajouter un code d'erreur (100)
Si p_Debug alors Response.Write ShowErrMsg()
'Fonction de sortie
Fin de la sélection
objConn.ConnectionString=ConnStr
objConn.Open
Définir ConnectionDataBase = objConn
Si erreur alors
Err.Effacer
Si SaveLog Alors
tmpMsg="Une erreur s'est produite lors de la connexion à la base de données, veuillez vérifier si votre code de requête est correct.<br>Pour des raisons de sécurité, seules ces informations sont affichées. Pour afficher les informations détaillées sur l'erreur, veuillez définir dsj.Debug=True"
cmd="Exécuter la commande de :"¶m_dbtype
Réponse.Write SaveSQLLog(cmd,tmpMsg)
Autre
Response.Write "Une erreur s'est produite lors de la connexion à la base de données. Veuillez vérifier si votre code de requête est correct."
Fin si
Ajouter un code d'erreur (101)
Définir objConn=Rien
Réponse.Fin()
Fin si
Fin si
Fonction de fin
'******************************
'Nom : SaveSQLLog
'Paramètres : sCommande, Msg
'Valeur de retour : msg
'Fonction : stocker les journaux
'Heure de création : 6 mai 2005
'******************************
Fonction publique SaveSQLLog(sCommand,Msg)
Si ce n'est pas le cas, p_Debug, alors en cas d'erreur, reprise suivante
logDB="DSJ_SQLLog.mdb"
'Journal ConnectionDataBase, p_dbUserID, p_dbPassword, 12
logConnStr = "Provider = Microsoft.Jet.OLEDB.4.0; Source de données = " & Server.MapPath (p_dbFolder & logDB)
Définir logConn = Server.CreateObject("ADODB.Connection")
logConn.Ouvrir logConnStr
Si SaveLog Alors
Dim logCmd
logCmd="INSÉRER DANS LES VALEURS DSJ_SQL_Log (Command,ScriptName,logUser,IP) "
logCmd=logCmd & "('" & Replace(Left(sCommand,255),"'","''") &"','" & (ScriptFolder & ScriptName) &"','" & Session("Utilisateur ") & "','"& GetIP & "')"
'Response.Write "La commande à exécuter est :<br><font color=red>" & logCmd & "</font><BR>"
logConn.Execute(logCmd)
Fin si
logConn.Fermer
Définir logConn=Rien
SaveSQLLog=msg
NuméroRequêteSQL=NumRequêteSQL+1
Fonction de fin
'******************************
'Nom : ExécuterCmd
'Paramètre : cmd
'Valeur de retour : RecordSet
'Fonction : renvoie le jeu d'enregistrements créé par cmd
'Heure de création : 6 mai 2005
'******************************
Fonction publique ExecuteCmd(cmd)
Si PAS IsObject (objConn) alors ConnectionDataBase p_DataBase, p_dbUserID, p_dbPassword, p_dbType
Si PAS p_Debug Alors en cas d'erreur Reprendre ensuite
ClientConnecté
Définir ExecuteCmd=objConn.Execute(cmd)
Si erreur alors
Err.Effacer
objConn.Fermer
Définir objConn=Rien
Si SaveLog Alors
tmpMsg="Une erreur a été trouvée lors de l'interrogation des données, veuillez vérifier si votre code de requête est correct.<br>Pour des raisons de sécurité, seules ces informations sont affichées. Pour afficher des informations détaillées sur l'erreur, veuillez définir dsj.Debug=True"
Réponse.Write SaveSQLLog(cmd,tmpMsg)
Autre
Response.Write "Une erreur a été trouvée lors de l'interrogation des données. Veuillez vérifier si votre code de requête est correct."
Fin si
Réponse.Fin()
Fin si
NuméroRequêteSQL=NumRequêteSQL+1
Fonction de fin
'******************************
'Nom : HTMLEncode
'Paramètre : fChaîne
'Valeur de retour : HTMLEncode
'Fonction : composition et conversion du contenu des données
'Heure de création : 6 mai 2005
'******************************
Fonction publique HTMLEncode(fString)
Si ce n'est pas IsNull(fString) ou fString<>"" Alors
fString=Remplacer(fString,"<","<")
fString=Remplacer(fString,">",">")
fString=Replace(fString,Chr(9)," ") 'Police italique
fString=Remplacer(fString,Chr(13),"")
fString=Replace(fString,Chr(32)," ") 'Convertir les espaces
fString=Replace(fString,Chr(34),""") 'Convertir les guillemets doubles
fString=Replace(fString,Chr(39),"'") 'Convertir les guillemets simples
fString=Replace(fString,Chr(10),"</p><p>") 'Convertir au format paragraphe
fString=Replace(fString,Chr(10),"<BR> ") 'Convertir à la ligne suivante
fString=Remplacer(fString,Chr(13),"<BR>")
fString=Remplacer(fSting,vbCrlf,"<BR>")
'fString=LienAmi(fString)
'fString=ChkBadWords(fString)
HTMLEncode=fChaîne
Fin si
Fonction de fin
'******************************
'Nom : LinkFriend
'Paramètre : fContenu
'Valeur de retour : LinkFriend
'Fonction : Remplacer les connexions amicales
'Heure de création : 6 mai 2005
'******************************
Fonction publique LinkFriend (fContent)
Si PAS p_Debug Alors en cas d'erreur Reprendre ensuite
Si PAS IsObject (objConn) alors ConnectionDataBase DataBase, dbUserID, dbPassword, dbType
Définir rsFriend=ExecuteCmd("Sélectionnez le titre, l'URL depuis dsj_FriendLink")
Si rsFriend.Eof et rsFriend.Bof alors
Autre
Faites pendant que PAS rsFriend.Eof
strTitle=rsFriend.Fields.Item("Titre")
URl=rsFriend.Fields.Item("URL")
Si LCase(Left(URL,1))<>"h" Alors URL=Replace(URl,Left(URL,1),"")
strLink="<a target='_blank' title='" & strTitle &"' href="" & URL & "'>"
strLink=strLink&strTitle&"</a>"
Si Instr(fContent,strTitle)>0 Alors fContent=Replace(fContent,strTitle,strLink)
rsFriend.MoveNext
Boucle
LinkFriend=fContenu
Fin si
rsFriend.Fermer
Définir rsFriend=Rien
NuméroRequêteSQL=NumRequêteSQL+1
Fonction de fin
'************************************************ * *****************
'Nom : Afficher la page
'Paramètre : NULL
'Valeur de retour : NULL
'Fonction : Afficher la navigation dans les enregistrements de pagination
'illustrer:
'Œuvre originale : zykj2000 Site Web : http://bbs.513soft.net
' Modification : Alonesword Site Internet : http://blog.csdn.net/alonesword/
'Heure : 7 mai 2005
'************************************************ * ****************
Sous-ShowPage publique()
Dim str_tmp
p_intTotalRecords=rsDivPage.RecordCount
Si p_intTotalRecords<=0 Alors
p_Error=p_Error & "Le nombre total d'enregistrements est nul, veuillez saisir les données"
Appelez ShowError()
Fin si
Si p_intTotalRecords <=PageSize THen
p_intTotalPage=1
Autre
Si p_intTotalRecords mod PageSize =0 Alors
p_intTotalPage = CLng(p_intTotalRecords / PageSize * -1)*-1
Autre
p_intTotalPage = CLng(p_intTotalRecords / PageSize * -1)*-1+1
Fin si
Fin si
Si p_intCurPage>p_intTotalPage Alors
p_intCurPage=p_intTotalPage
Fin si
Response.Write ShowFirstPrv
showNumBtn
Réponse.Écrire ShowNextLast&" "
Response.Write ShowPageInfo
réponse.write str_tmp
Fin de
la fonction sous-privée ShowFirstPrv()
Dim Str_tmp,int_prvpage
int_prvpage=p_intCurPage-1
Si int_prvpage<1 Alors int_prvpage=1
Btn_FirstLink="<a title='Page 1' href=""&AddnPageURL&"1'>"&Btn_First
Btn_PrevLink="<a title='Page"&int_prvpage&" href=""&AddnPageURL&p_intCurPage-1&"'>"&Btn_Prev
Si p_intCurPage=1 Alors
str_tmp=Btn_FirstLink&"</a> "&Btn_PrevLink&"</a> "
Autre
int_prvpage=p_intCurPage-1
str_tmp=""&Btn_FirstLink&"</a> "& Btn_PrevLink&"</a> "
Fin si
ShowFirstPrv=str_tmp
Fonction de fin
Fonction privée ShowNextLast()
Dim str_tmp,int_Nextpage
int_NextPage=p_intCurPage+1
Si p_intCurPage+1>p_intTotalPage Alors int_NextPage=p_intTotalPage
Btn_NextLink="<a title='Page"&int_NextPage&"' href=""&AddnPageURL&p_intCurPage+1&"'>"&Btn_Next
Btn_LastLink="<a title='Page"&p_intTotalPage&" href=""&AddnPageURL&p_intTotalPage&"'>"&Btn_Last
Si p_intCurPage>=p_intTotalPage Alors
str_tmp=Btn_NextLink & "</a> " & Btn_LastLink&"</a>"
Autre
Int_NextPage=p_intCurPage+1
str_tmp=""&Btn_NextLink&"</a> "& Btn_LastLink&"</a>"
Fin si
ShowNextLast=str_tmp
Fonction de fin
Fonction privée showNumBtn()
Dim je,str_tmp
Dim PageLink
str_tmp=""
Pour i=1 à p_intTotalPage Étape 1
PageLink=" <a title='Page"&i&" href='"&AddnPageURL&i&"'>"&i&"</a> "
Si i=p_intCurPage Alors PageLink=" <a title='Page"&i&" href=""&AddnPageURL&i&"'><font color=red>"&i&"</font></a> "
Réponse.Écrire PageLink
Suivant
showNumBtn=str_tmp
Fonction de fin
Fonction privée ShowPageInfo()
Dim str_tmp
str_tmp="Page :"&p_intCurPage&"/"&p_intTotalPage&"Total de la page"&p_intTotalRecords&"enregistrements"&p_rsPageSize&"enregistrements/par page"
ShowPageInfo=str_tmp
Fonction de fin
Fonction privée AddnPageURL()
Dim i,j,search_str,result_url
search_str="page="
str_params=Request.ServerVariables("QUERY_STRING")
Si str_params="" Alors
result_url=ScriptName & "?page="
Autre
Si InstrRev(str_params,search_str)=0 Alors
result_url=Nom du script & "?" & str_params &"&page="
Autre
j=InstrRev(str_params,search_str)-2
Si j=-1 Alors
result_url=ScriptName & "?page="
Autre
str_params=Gauche(str_params,j)
result_url=Nom du script & "?" & str_params &"&page="
Fin si
Fin si
Fin si
AddnPageURL=result_url
Fonction de fin
'************************************************ * ****************
Fonction publique GetName (Options)
Dim tmpName
tmpName=Request.ServerVariables("PATH_INFO")
arrTmpName=Split(tmpName,"/")
Si Options=0 Alors GetName=Server.Mappath(".")&GetName(1)
Si Options=1 Alors GetName=LCase(arrTmpName(UBound(arrTmpName)))
Si Options=2 Alors GetName=LCase(arrTmpName(UBound(arrTmpName)-1))&"/"
Fonction de fin
Fin du cours
%>