Voilà presque tout est dans le titre !! C un forum ki tien sur une page !!
Je joint un Zip qui contient : - images
-base
-fichier.asp et .inc
Source / Exemple :
- inckude-inc.asp*************
<SCRIPT language=JavaScript src="design.js"></SCRIPT>
<%
'toujours sur une seule ligne
DSN_base="DRIVER={Microsoft Access Driver (*.mdb)};" &"DBQ=" & Server.MapPath(".") &"/forum.mdb"
Set CONN = Server.CreateObject("ADODB.Connection")
CONN.Open DSN_BASE
%>
<%
Function SQLStr(pvValue)
Dim sTemp
Select Case VarType(pvValue)
Case 0, 1:
SQLStr = "NULL"
Case 2, 3, 4, 5, 6:
sTemp = "" & pvValue
sTemp = Replace(sTemp, "'", "''")
SQLStr = "'" & sTemp & "'"
Case 7: 'DateTime
sTemp = FormatDateTime(pvValue)
sTemp = Replace(sTemp, "'", "''")
SQLStr = "'" & sTemp & "'"
Case 8: 'String
sTemp = pvValue
sTemp = Replace(sTemp, "'", "''")
If Len(Trim(sTemp)) > 0 Then
SQLStr = "'" & sTemp & "'"
Else
SQLStr = "NULL"
End If
Case Else
SQLStr = "NULL"
End Select
End Function
%>
- fin fichier ***********************************
- forum.asp *********************
<!--#include file="include-inc.asp"-->
<!--#include file="adovbs.inc"-->
<%
act=Request.QueryString("act")
id=Request.QueryString("id")
If id <> "" Then
'Lecture du message si action=read et si Id différent de ""
sql =""
sql = sql & "SELECT * FROM messageforum WHERE ID = " & request.querystring("id")
Set MessRS = Server.CreateObject("ADODB.Recordset")
MessRS.Open sql, CONN
%>
<%
CONN.Execute ("UPDATE messageforum SET affich = " & (MessRS.Fields("affich")+1) & " WHERE ID= " & request.querystring("id") )
%>
<HTML>
<HEAD>
<TABLE cellSpacing=0 cellPadding=0 border=0 width=100%>
<TBODY>
<TR>
<TD vAlign=top width=95%>
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE borderColor=#CBDDDD cellSpacing=0 cellPadding=2 width=100% border=0>
<TBODY>
<TR>
<TD bgColor=#CBDDDD><img src="derniere.gif" alt="" width="16" height="12" border="0">
<SPAN class=Titre>Message : <%=MessRS("Titre")%></SPAN></TD>
<TD align=right width="10"><A
href="javascript:ShowHide(piclastart,lastart);"><IMG height=9
src="minus.gif"
width=12 border=0 name=piclastart></A></TD></TR></TBODY></TABLE>
</TD></TR></TBODY></TABLE>
<DIV id=lastart style="DISPLAY: inline">
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=7 cellPadding=0 width=100% border=0>
<TBODY>
<TR>
<TD>
<!--Le message ;o)-->
<TABLE cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width="80%">
<TABLE cellPadding=0 border=0>
<TBODY>
<TR>
<TD><FONT class=f1
color=#444444> <B>Sujet</B></FONT></TD>
<TD><FONT class=f1
color=#444444> : </FONT></TD>
<TD><FONT class=f1 color=#444444> <%=MessRS("Titre")%></FONT></TD></TR>
<TR>
<TD><FONT class=f1
color=#444444> <B>Date</B></FONT></TD>
<TD><FONT class=f1
color=#444444> : </FONT></TD>
<TD><FONT class=f1 color=#444444> <%=MessRS("datef")%></FONT></TD></TR>
<TR>
<TD><FONT class=f1
color=#444444> <B>Auteur</B></FONT></TD>
<TD><FONT class=f1
color=#444444> : </FONT></TD>
<TD><FONT class=f1
color=#444444> <a href="mailto:<%=MessRS("mailauteur")%>"><%=MessRS("auteur")%></A></FONT></TD></TR>
<TR>
<TD><FONT class=f1
color=#444444> <B>Nb.
affichage</B></FONT></TD>
<TD><FONT class=f1
color=#444444> : </FONT></TD>
<TD><FONT class=f1 color=#444444> <%=MessRS("affich")%>
fois</FONT></TD></TR></TBODY></TABLE></TD>
<TD width="20%">
</TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD><A href="#reply"><img src="forum-reply.gif" alt="" width="80" height="25" border="0"></A>
<A href="forum.asp?act=nmsg"><img src="forum-nouv.gif" alt="" width="80" height="25" border="0"></A>
</TD>
<TD align=right>
<FONT face=Verdana color=#000000 size=2><B>
...</A>
</B></FONT>
</TD></TR></TBODY></TABLE>
<TABLE borderColor=#003399 cellSpacing=0 cellPadding=2 width="100%" align=center bgColor=#ffffff border=1>
<TBODY>
<TR>
<TD><FONT face=Verdana size=2>
<DIV align=justify><%=MessRS("contenu")%></DIV></FONT>
</TD>
</TR></TBODY></TABLE>
<FONT style="BACKGROUND: #003399" face=Verdana color=#ffffff size=2><B>Suivi du Message </B></FONT><BR>
<%
'---- Fonction qui vérifie si IDOM message a des réponses ou non ----
function CheckForResponses(nivid,Index)
redim dataRec_CFR(Index)
set dataRec_CFR(Index)=CreateObject("ADODB.RecordSet")
dataRec_CFR(Index).Open "SELECT * FROM messageforum WHERE Niv_ID=" & nivid & " ORDER BY ID DESC",CONN
%>
<%
if not dataRec_CFR(Index).EOF then
WHILE not dataRec_CFR(Index).EOF
response.Write REPLACE(SPACE(dataRec_CFR(Index).Fields("Level"))," "," ")
response.write "<A href=forum.asp?id=" & dataRec_CFR(Index).Fields("ID") & ">" & dataRec_CFR(Index).Fields("titre") & "</A> de " & dataRec_CFR(Index).Fields("auteur") & " le " & dataRec_CFR(Index).Fields("datef") & "<BR>" & vbcrlf
CheckForResponses dataRec_CFR(Index).Fields("ID"),Index+1
dataRec_CFR(Index).MoveNext
wend
end if
end function
%>
<%
'-----------------------
'Crée le recordset qui va balayer tous les messages a la recherche d'un message de niveau("level") 0
'>> C'est à dire un message de base. La fonction qui verifie lexistence de reponses est appelée.
'-----------------------
Dim dataRec_MSG
set dataRec_MSG = server.createObject("ADODB.RecordSet")
dataRec_MSG.CursorType = 1
dataRec_MSG.LockType = 3
dataRec_MSG.Open "SELECT * FROM messageforum WHERE pos=" & MessRS("pos") &" ORDER BY ID DESC",CONN
If not dataRec_MSG.BOF Then
dataRec_MSG.MoveLast
End If
%>
<%
Dim IDMsgB
response.Write "<font class=f1>"
WHILE not dataRec_MSG.BOF
IDMsgB=dataRec_MSG("ID")
if dataRec_MSG("Niv_ID")=0 then
response.Write "<A href=forum.asp?act=msg&id=" & IDMsgB & ">" & datarec_MSG("titre") & "</A> de " & dataRec_MSG("auteur") & " le " & dataRec_MSG("datef") & "<BR>" & vbcrlf
CheckForResponses IDMsgB,1
end if
dataRec_MSG.MovePrevious
wend
response.write "</FONT>"
%>
</TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
</TD></TBODY></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0 width=100%>
<TBODY>
<TR>
<TD vAlign=top width=95%>
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE borderColor=#CBDDDD cellSpacing=0 cellPadding=2 width=100% border=0>
<TBODY>
<TR>
<TD bgColor=#CBDDDD><img src="derniere.gif" alt="" width="16" height="12" border="0">
<SPAN class=Titre>Navigation dans le forum</SPAN></TD>
<TD align=right width="10"><A
href="javascript:ShowHide(piclastsources,lastsources);"><IMG height=9
src="minus.gif"
width=12 border=0 name=piclastsources></A></TD></TR></TBODY></TABLE>
</TD></TR></TBODY></TABLE>
<DIV id=lastsources style="DISPLAY: inline">
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=7 cellPadding=0 width=100% border=0>
<TBODY>
<TR>
<TD><FONT class=f1>
<!--Navigation + recherche ;o)-->
<CENTER><B><A href="javascript:history.go(-1)">< Retour ></a>
<!--<IMG SRC="_images/derniere.gif" BORDER=0 WIDTH=16 HEIGHT=12><a href="forum.asp">Liste des thèmes ></a>--></B></CENTER>
</FONT>
</TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
</TD></TBODY></TABLE><br>
<TABLE cellSpacing=0 cellPadding=0 border=0 width=100%>
<TBODY>
<TR>
<TD vAlign=top width=95%>
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE borderColor=#CBDDDD cellSpacing=0 cellPadding=2 width=100% border=0>
<TBODY>
<TR>
<TD bgColor=#CBDDDD><img src="_images/derniere.gif" alt="" width="16" height="12" border="0">
<SPAN class=Titre>Répondre à ce Message</SPAN></TD>
<TD align=right width="10"><A
href="javascript:ShowHide(picred,red);"><IMG height=9
src="minus.gif"
width=12 border=0 name=picred></A></TD></TR></TBODY></TABLE>
</TD></TR></TBODY></TABLE>
<DIV id=red style="DISPLAY: inline">
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=7 cellPadding=0 width=100% border=0>
<TBODY>
<TR>
<TD><FONT class=f1>
<!--Formulaire de réponse ;o)-->
<FONT face=Arial color=#003399 size=2><B>
<FORM name=NouveauMess action="forum.asp?act=rmsg" method=post>
<INPUT type=hidden name=nivid value="<%=MessRS("id")%>">
<INPUT type=hidden name=id value="<%=MessRS("id")%>">
<CENTER>Votre Pseudo : <BR><INPUT size=40 name=auteur>
<BR>Votre E-M@il : <BR><INPUT size=40 name=mailauteur><BR>
Le Sujet : <BR>
<INPUT size=50 value="Re : <%=MessRS("Titre")%>" name=Titre><BR>
La Réponse : <BR><TEXTAREA name=contenu rows=15 cols=60></TEXTAREA><BR><BR>
<INPUT TYPE="image" HEIGHT="26" ALT="Ajouter le message dans le forum" WIDTH="105" SRC="ajouter.gif" BORDER="0">
</CENTER></FORM>
</FONT>
</TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
</TD></TBODY></TABLE>
</HTML>
<%
ElseIf act="nmsg" Then
'Rédaction d'un nveau message si action=nmsg
%>
<HTML>
<HEAD>
<TABLE cellSpacing=0 cellPadding=0 border=0 width=100%>
<TBODY>
<TR>
<TD vAlign=top width=95%>
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE borderColor=#CBDDDD cellSpacing=0 cellPadding=2 width=100% border=0>
<TBODY>
<TR>
<TD bgColor=#CBDDDD><img src="derniere.gif" alt="" width="16" height="12" border="0">
<SPAN class=Titre>Rédaction d'un nouveau Message</SPAN></TD>
<TD align=right width="10"><A
href="javascript:ShowHide(piclastart,lastart);"><IMG height=9
src="minus.gif"
width=12 border=0 name=piclastart></A></TD></TR></TBODY></TABLE>
</TD></TR></TBODY></TABLE>
<DIV id=lastart style="DISPLAY: inline">
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=7 cellPadding=0 width=100% border=0>
<TBODY>
<TR>
<TD>
<!--Le message ;o)-->
<FONT class=f1 color=#003399><B>
<FORM name=NouveauMess2 onsubmit="return validate_form2()" action=forum.asp?act=amsg method=post>
<CENTER>Votre Pseudo : <BR><INPUT size=40 name=auteur>
<BR>Votre E-M@il : <BR><INPUT size=40 name=mailauteur><BR>
Le Sujet : <BR>
<INPUT size=50 value="" name=titre><BR>
Le Message : <BR><TEXTAREA name=contenu rows=15 cols=60></TEXTAREA>
<BR><BR><INPUT TYPE="image" HEIGHT="26" ALT="Ajouter le message dans le forum" WIDTH="105" SRC="ajouter.gif" BORDER="0">
</CENTER></FORM>
</TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
</TD></TBODY></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0 width=100%>
<TBODY>
<TR>
<TD vAlign=top width=95%>
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE borderColor=#CBDDDD cellSpacing=0 cellPadding=2 width=100% border=0>
<TBODY>
<TR>
<TD bgColor=#CBDDDD><img src="derniere.gif" alt="" width="16" height="12" border="0">
<SPAN class=Titre>Navigation dans le forum</SPAN></TD>
<TD align=right width="10"><A
href="javascript:ShowHide(picred,red);"><IMG height=9
src="minus.gif"
width=12 border=0 name=picred></A></TD></TR></TBODY></TABLE>
</TD></TR></TBODY></TABLE>
<DIV id=red style="DISPLAY: inline">
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=7 cellPadding=0 width=100% border=0>
<TBODY>
<TR>
<TD><FONT class=f1>
<!--Navigation + recherche ;o)-->
<CENTER><B><A href="javascript:history.go(-1)">< Retour ></a>
<!--<IMG SRC="_images/derniere.gif" BORDER=0 WIDTH=16 HEIGHT=12><a href="forum.asp">Liste des thèmes ></a>--></B></CENTER>
</FONT>
</TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
</TD></TBODY></TABLE>
</HTML>
<%
ElseIf act="rmsg" or act="amsg" Then
'Insertion d'un nveau message dans la base (nveau ou réponse)
'---- Crée le recordset qui va ajouter le nouvel enregistrement -----
Dim dataRec_AMSG
Set dataRec_AMSG=CreateObject("ADODB.Recordset")
dataRec_AMSG.CursorType = 1
dataRec_AMSG.LockType = 3
dataRec_AMSG.Open "messageforum", CONN, , , &H0002
dataRec_AMSG.AddNew
if Request.Form("nivid")<>"" then
'---- Crée le recordset pour vérifier l'exsitence de la news ----
Dim dataRec_VMSG
Set dataRec_VMSG=CreateObject("ADODB.RecordSet")
dataRec_VMSG.Open "SELECT * FROM messageforum WHERE ID=" & Request.Form("id"),CONN
if dataRec_VMSG.EOF then
response.Write "<SCRIPT language=JSCRIPT>"
response.Write "alert('La news que vous essayez de voir n\'existe pas ou plus!');"
response.Write "document.location.href='forum.asp';"
response.Write "</SCRIPT>"
end if
dataRec_AMSG("Niv_ID")=Request.Form("nivid")
dataRec_AMSG("level")=dataRec_VMSG("level")+1
else
dataRec_AMSG("Level")=0
end if
dataRec_AMSG("auteur")=Request.Form("auteur")
dataRec_AMSG("mailauteur")=Request.Form("mailauteur")
dataRec_AMSG("datef")=Date
dataRec_AMSG("titre")=request.Form("titre")
dataRec_AMSG("contenu")=request.Form("contenu")
dataRec_AMSG.UpDate
response.Redirect "forum.asp"
Else
%>
<HTML>
<HEAD>
<TABLE cellSpacing=0 cellPadding=0 border=0 width=100%>
<TBODY>
<TR>
<TD vAlign=top width=95%>
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE borderColor=#CBDDDD cellSpacing=0 cellPadding=2 width=100% border=0>
<TBODY>
<TR>
<TD bgColor=#CBDDDD><img src="derniere.gif" alt="" width="16" height="12" border="0">
<SPAN class=Titre>Rédaction d'un nouveau Message</SPAN></TD>
<TD align=right width="10"><A
href="javascript:ShowHide(piclastart,lastart);"><IMG height=9
src="minus.gif"
width=12 border=0 name=piclastart></A></TD></TR></TBODY></TABLE>
</TD></TR></TBODY></TABLE>
<DIV id=lastart style="DISPLAY: inline">
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=7 cellPadding=0 width=100% border=0>
<TBODY>
<TR>
<TD>
<!--Le message ;o)-->
<FONT class=f1 color=#003399>
<% '---- Fonction qui vérifie si IDOM message a des réponses ou non ----
function CheckForResponses(nivid,Index)
redim dataRec_CFR(Index)
set dataRec_CFR(Index)=CreateObject("ADODB.RecordSet")
dataRec_CFR(Index).Open "SELECT * FROM messageforum WHERE Niv_ID=" & nivid & " ORDER BY ID DESC",CONN
if not dataRec_CFR(Index).EOF then
WHILE not dataRec_CFR(Index).EOF
response.Write REPLACE(SPACE(dataRec_CFR(Index).Fields("Level"))," "," ") & "<A href=forum.asp?id=" & dataRec_CFR(Index).Fields("ID") & ">" & dataRec_CFR(Index).Fields("titre") & "</A> de " & dataRec_CFR(Index).Fields("auteur") & "<BR>" & vbcrlf
CheckForResponses dataRec_CFR(Index).Fields("ID"),Index+1
dataRec_CFR(Index).MoveNext
wend
end if
end function
'-----------------------
'Crée le recordset qui va balayer tous les messages a la recherche d'un message de niveau("level") 0
'>> C'est à dire un message de base. La fonction qui verifie lexistence de reponses est appelée.
'-----------------------
set dataRec_MSG = server.createObject("ADODB.RecordSet")
dataRec_MSG.CursorType = 1
dataRec_MSG.LockType = 3
dataRec_MSG.Open "messageforum", CONN, , , &H0002
If not dataRec_MSG.BOF Then
dataRec_MSG.MoveLast
End If
WHILE not dataRec_MSG.BOF
IDMsgB=dataRec_MSG("ID")
if dataRec_MSG("Niv_ID")=0 then
response.Write "<img src='mes.gif' alt='' width=14 height=13 border=0> <A href=forum.asp?id=" & IDMsgB & ">" & datarec_MSG("titre") & "</A> de " & dataRec_MSG("auteur") & "<BR>" & vbcrlf
CheckForResponses IDMsgB,1
end if
dataRec_MSG.MovePrevious
wend%><BR>
<A href="forum.asp?act=nmsg"><img src="forum-nouv.gif" alt="" width="80" height="25" border="0"></A>
</FONT>
</TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
</TD></TBODY></TABLE><BR>
<TABLE cellSpacing=0 cellPadding=0 border=0 width=100%>
<TBODY>
<TR>
<TD vAlign=top width=95%>
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE borderColor=#CBDDDD cellSpacing=0 cellPadding=2 width=100% border=0>
<TBODY>
<TR>
<TD bgColor=#CBDDDD><img src="derniere.gif" alt="" width="16" height="12" border="0">
<SPAN class=Titre>Navigation dans le forum</SPAN></TD>
<TD align=right width="10"><A
href="javascript:ShowHide(picred,red);"><IMG height=9
src="_images/minus.gif"
width=12 border=0 name=picred></A></TD></TR></TBODY></TABLE>
</TD></TR></TBODY></TABLE>
<DIV id=red style="DISPLAY: inline">
<TABLE cellSpacing=0 cellPadding=1 width=100% bgColor=#CBDDDD
border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=7 cellPadding=0 width=100% border=0>
<TBODY>
<TR>
<TD><FONT class=f1>
<!--Navigation + recherche ;o)-->
<CENTER><B><A href="javascript:history.go(-1)">< Retour ></a>
<!--<IMG SRC="_images/derniere.gif" BORDER=0 WIDTH=16 HEIGHT=12><a href="forum.asp">Liste des thèmes ></a>--></B></CENTER>
</FONT>
</TD></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV>
</TD></TBODY></TABLE><br>
</HTML>
<%
End IF
%>
- fin fichier **************
Conclusion :
Voilà c la première version, y a plein de bug mai e vai les corriger !! ;o)
-> OUlà ça s'affiche mal !!!! ;o( Fo ke j'otpimise l'affichage du code je crois !!! :o(
@tte er bonn' prog'
pi0up51
20 août 2007 à 16:43
pourquoi ? injection !
11 mai 2006 à 19:26
mais c trés bien de dévlopper .
15 avril 2002 à 16:52
huhuhu...
lol
15 avril 2002 à 16:49
15 avril 2002 à 08:54
Moi ell est plus complète lol ;o)
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.