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.
|