Forum-webmaster
Technique - programmation => Asp / Asp.net / IIS => Message commencé par: roseneige le le 24-01-2009 a 01:08:34

Titre: livre d'or/Asp
Posté par: roseneige le le 24-01-2009 a 01:08:34

bonsoir,
je voudrais ajouter un livre d'or sur mon site
pour cela j'ai fait un lien vers une page(default.asp)
et j'ai ajouter une bdd access (guestbook.accdb)
la table (liste)
voila le code qui ne fonctionne pas parceque j'arrive pas à acceder à la bdd qui est dsle meme repertoire que le fichier(default.asp)


<html>
<head>
<title>Le livre d'Or</title>

</head>
<body>

<%
'--- Forcer la déclaration des variables
Option explicit

Dim msg
Dim afficher

'--- Variables concernant la connexion base de données
Dim conn
Dim rs
Dim sql
Dim connstring
Dim i

msg=""
Afficher=25 ' afficher les 25 derniers messages


' Ouverture de la base et table liste
Set conn = Server.CreateObject("ADODB.Connection")
   
' chaine de connexion sans DSN
' la base de données doit se situer dans le même répertoire que default.asp
connstring="DRIVER={Microsoft Access Driver (*.accdb)}; " & "DBQ=" & Server.MapPath(".") & "/guestbook.accdb"
conn.Open connstring

if request("action")="Envoyer" then

' On vérifie si l'utilisateur a bien entré un nom et un commentaire

If trim(request("nom"))="" OR trim(request("commentaire"))="" then
   ' Tous les champs ne sont pas rempli
   ' On remplit la variable message - elle n'est plus vide
   msg="<font face=arial size=2 color=red>Erreur : <br> Remplissez tous les champs </font><br>"
end if


   

if msg="" then
' tous les champs ont été remplis correctement

   sql = "SELECT * FROM liste"
   Set rs = Server.CreateObject("ADODB.Recordset")
   rs.Open sql, conn, 3, 3

   ' Ajout d'un nouvel élément à la table
   rs.AddNew
   rs.fields("nom")=trim(request("nom"))
   rs.fields("message")=trim(request("commentaire"))
   rs.fields("date")=now()
   rs.Update
   
   ' On ferme la connexion sur le recordset
   rs.close
   
   ' On détruit l'objet recordset de la mémoire
   set rs=nothing

   ' On ferme la connexion sur la base
   conn.close
   ' On détruit l'objet créé pour établir la connexion
   set conn=nothing
   
   ' On redirige l'utilisateur vers default.asp
   ' ce qui à pour effet de recharger la page en cours
   response.redirect "default.asp"


end if

end if



%>



<%
' sélection de la table liste

   sql = "SELECT * FROM liste"
   sql = sql &" ORDER by Date DESC"

   Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3

%>

<p><font face="Arial" color="#004080"><strong>LIVRE D'OR</strong></font></p>
<div align="center"><center>

<table border="0" cellpadding="0" cellspacing="0" width="500">
<tr>
<td><font face="Arial"><small>Un Guest Book (ou livre d'or en français) offre la
possibilité aux visiteurs de votre site de laisser un commentaire.</small><br>
<small>Un seul fichier pour ce programme qui gère à la fois l'ajout de nouveaux messages</small>
<small>et leurs affichages. Le nombre de commentaires à afficher est gérer par une
variable afficher en entête du fichier default.asp. Ce Programme fonctionne avec une base
Access qui<small> </small>n'a pas besoin d'être déclarée dans le DSN. </small></font></td>
</tr>
</table>
</center></div>

<p align="left"><font face="Arial"><br>
</font><%=msg%></p>
<div align="center"><center>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top"><p align="center"><font face="Arial" color="#004080"><strong>Ajouter un
Message</strong></font></td>
<td valign="top"><p align="center"><font face="Arial" color="#004080"><strong>Contenu du
Livre d'OR :</strong></font></td>
</tr>
<tr>
<td valign="top"><form action="default.asp">
<div align="center"><center><table border="0" cellpadding="3" width="100%">
<tr>
<td width="100%" bgcolor="#E1E7F7"><font face="Arial"><small>Votre Nom</small></font>:<br>
<input type="text" name="nom" size="20" value="<%=request("nom")%>"><p><font face="Arial"><small>Commentaire:</small><br>
</font><textarea rows="4" name="commentaire" cols="30"><%=request("commentaire")%></textarea></td>
</tr>
<tr>
<td width="100%" bgcolor="#C7D0EF"><div align="center"><center><p><input type="reset"
value="Effacer" name="action"><input type="submit" value="Envoyer" name="action"></td>
</tr>
</table>
</center></div>
</form>
</td>
<td valign="top" align="center"><div align="right"><table border="0" cellpadding="2"
width="400">
<% if rs.recordcount>0 then%>
<%
i=1 ' compteur du nombre de message
rs.movefirst
do while not rs.eof AND i<=afficher
%>
<tr>
<td valign="top" bgcolor="#C7D0EF" width="30%"><font face="arial" size="2"><%=rs("date")%> </font></td>
<td valign="top" bgcolor="#E1E7F7" width="70%"><font face="arial" size="2"><b><%=rs("nom")%> : </b><%=rs("message")%><b><br>
</b></font></td>
</tr>
<%
i=i+1 ' on incrémente le compteur
rs.movenext
loop

else %>
<tr>
<td valign="top" colspan="2">Le livre d'Or est vide </td>
</tr>
<%
end if
' Fermeture des objets créés
rs.close
set rs=nothing
conn.close
set conn=nothing

%>
</table>
</div></td>
</tr>
</table>
</center></div>
</body>
</html>




merci pour votre aide




Titre: Re:livre d'or/Asp
Posté par: jajana le le 18-06-2009 a 11:04:35

Salut, as tu mis les droits d'ecriture sur ta base de donnée ?
Au niveau du fichier meme, les attributs / et droits par utilisateurs ...
++


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.