|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Bonjour à tous,
J'ai un formulaire (FormInscriptions.asp) qui rempli une BD Access (ems07.mdb) puis et renvoyer vers une page (InscriptionRecap.asp) qui doit reprendre les éléments remplis dans le formulaire la requête dans la page InscriptionRecap.asp est : sql="SELECT * FROM inscriptions WHERE nom='"&Request.QueryString("nom")&"'" Afficher la ligne de la table inscriptions ou le champ nom correspond à celui rentrée dans le formulaire. Problème : une erreur de type Please try the following: * Contact the Web site administrator if you believe this directory should allow read access. HTTP Error 403.2 - Forbidden: Read access is denied. Internet Information Services (IIS) m'est renvoyée Merci pour votre aide |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() Consultant E-Learning Inscription : août 2006 Messages : 646 ![]() |
Bonjour,
première chose: verifie en clair ta chaîne de requête (tu fais un petit response.write sql après la ligne que tu nous montre. deuxième chose: vérifie bien les paramètres de connexion à ta base de données et d'ouverture de ton recordset (si tu veux plus d'aide, donne-nous plus de code) |
|
|
00
|
|
|
#3 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : mars 2004 Messages : 5 849 ![]() |
Salut,
Citation:
A+ |
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Consultant E-Learning Inscription : août 2006 Messages : 646 ![]() |
Ok immobilis
mais cela ne change rien au problème car on peut modifier l'ouverture de la base dans la connection: c.mode=3 par ex. |
|
|
00
|
|
|
#5 | ||
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Je sui désolé mais je debute en asp
Voici le code complet de la page InscriptionRecap.asp Merci Code :
|
||
|
|
00
|
|
|
#6 | |||
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Citation:
Code :
|
|||
|
|
00
|
|
|
#7 |
|
Membre émérite
![]() Consultant E-Learning Inscription : août 2006 Messages : 646 ![]() |
J'insiste: fais un response.write après ta ligne SQL puies un response.end histoire de voir ce qui est envoyé comme requête sql et si l'erreur ne se trouve pas là dedans
|
|
|
00
|
|
|
#8 | |
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Citation:
Peux tu me donner les lignes de code correspondantes et où je dois les inclurent Je te remercie |
|
|
|
00
|
|
|
#9 | ||||
|
Membre confirmé
![]() Développeur Web Inscription : octobre 2005 Messages : 357 ![]() |
Remplace ce bout de code:
Code :
Code :
__________________
Plus tu pédales moins vite, moins tu avances plus vite... ![]() La vie, c'est comme une bicyclette, il faut avancer pour ne pas perdre l'équilibre... |
||||
|
|
00
|
|
|
#10 | ||
|
Membre émérite
![]() Consultant E-Learning Inscription : août 2006 Messages : 646 ![]() |
J'irais un peu plus loin sinon tu risque toujours d'être complètement coincé:
Code :
Si tu ne comprends pas, copie ce que tu obtiens comme résultat et montre le nous. |
||
|
|
00
|
|
|
#11 | |||||
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Citation:
Bonjour à tous, voilà j'ai copié ça dans le code Code :
Code :
SELECT * from inscriptions where email = '' and nom = '' merci
|
|||||
|
|
00
|
|
|
#12 |
|
Membre émérite
![]() Consultant E-Learning Inscription : août 2006 Messages : 646 ![]() |
Voilà le problème... Il n'y a ni mail ni nom c'est à dire que soit tu n'as rien remppli dans ton formulaire soit tu n'as pas bien récupéré les données de ton formulaire...
En relisant ton formulaire, je vois que dans le tag <form>, tu utilise la method "post' or, pour récupéere des données de la method "post", il ne faut pas utiliser request.querystring("champ") mais bien request.form("champ"). Essaye ces corrections et reviens nous dire quoi |
|
|
00
|
|
|
#13 | |
|
Expert Confirmé Sénior
![]() ![]() ![]() Inscription : mars 2004 Messages : 5 849 ![]() |
Citation:
A+ |
|
|
00
|
|
|
#14 |
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Je ne comprends, pas je ne veux pas recuperer les données de mon formulaire,
mais les données de la table "inscriptions" qui viennent d'être renseignées par le formulaire "FormInscriptions.asp" de plus j'ai volontairement depouillé le code de la page "InscriptionRecap.asp" pour faire les tests que vous me propoés : <% Dim conn Dim rs Dim sql Dim connstring Dim i Set conn = Server.CreateObject("ADODB.Connection") connstring="DRIVER={Microsoft Access Driver (*.mdb)}; " & "DBQ=" & Server.MapPath(".") & "/admin/ems07.mdb" conn.Open connstring %> <HTML> <HEAD> <TITLE>EMSLIBS 2007 Votre pannier</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> </HEAD> <BODY BGCOLOR=#FFFFFF LEFTMARGIN=0 TOPMARGIN=15 MARGINWIDTH=0 MARGINHEIGHT=15> <p align="left"><b><font face="Arial" color="#1B3769">Votre commande</font></b></p> <hr color="#1B3769" align="left"> <br> <% sql = "SELECT * from inscriptions where email = '"&Request.QueryString("email")&"' and nom = '"&Request.QueryString("nom")&"'" Response.Write sql Response.End Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn, 3, 3 if rs.EOF then response.redirect "../admin/erreur.html" end if %> </BODY> </HTML> <%conn.close set conn=nothing %> |
|
|
00
|
|
|
#15 |
|
Membre émérite
![]() Consultant E-Learning Inscription : août 2006 Messages : 646 ![]() |
OK, mais ton Request.Querystring ("email") qui se trouve dans la construction de ta requête SQL est une commande qui va rechercher des infos qui viennent sans doute d'un champ "email" d'un formulaire que tu envoies sur cette page... et donc tant que, dans le "WHERE" de ta requête SQL, le mail sera vide et le nom aussi, tu auras ton message d'erreur (bon je ne garantis pas qu'il disparaîtra quand tu auras une requêtes correcte mais procédons étape par étape...)
|
|
|
00
|
|
|
#16 | |
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Citation:
Ok, donc j 'ecris la requête comme ci-dessous ? <% sql = "SELECT * from inscriptions where email = '"&Request.form("email")&"' and nom = '"&Request.form("nom")&"'" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn, 3, 3 if rs.EOF then response.redirect "../admin/erreur.html" end if %> |
|
|
|
00
|
|
|
#17 |
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Je laisse response.redirect ("inscriptionRecapems.asp") et
<form action="FormInscriptionems.asp?formRempli=1" method="post"> dans le formulaire qui collecte les données ? |
|
|
00
|
|
|
#18 |
|
Membre émérite
![]() Consultant E-Learning Inscription : août 2006 Messages : 646 ![]() |
Je ne te comprends pas bien et je ne me fais pas bien comprendre... Reprenons.
Tu cherches à faire une requête paramètrée (une requête pour récupérer une ou des personnes dont a priori on ne connais ni l'email ni le nom). Telle que tu l'as écrite, ta requête a besoin d'un nom et d'un mail... Donc, j'en conclus que tu as créé un petit formulaire (appelons le A) dans lequel les gens entre un nom et un mail. Ce formulaire a une method "post" et une action qui renvoit sur la page dans laquelle tu as ta requête. Cette page récupère le nom et le mail venu de A (c'est le but de tes Request.querystring que tu devrais transformer en request.form). Une fois ces données récupérées, elle les mets dans la requête SQL qui va chercher les données correspondantes dans la base de données. Ensuite, tu fais ce que tu veux de ces données: soit tu les affiches dans une table soit tu les mets dans une formulaire (B).... Voilà comment j'analyse la chose au vu de ton code |
|
|
00
|
|
|
#19 | |
|
Membre régulier
![]() Inscription : juin 2006 Messages : 324 ![]() |
Citation:
J'ai un formulaire A que l'utilisateur doit remplir (où il ya entre autres un champ email et nom). dans ce formulaire j'ai une requête qui ajoute les infos remplis dans le formulaire A dans une table Access B. Toujours dans le formulaire A j'ai une methode POST et une action: action= "FormA.asp?formRempli=1" (c,est peut être là l'erreur ?!) j'ai également un response.redirect ("C.asp") qui renvoie l'utlisateur vers une page ASP C (celle où j'ai mes Request.QueryString) dans laquelle j'aimerai afficher l'entrée de la base de donnée B qui correspond au nom et à l'email entrée dans le formulaire A |
|
|
|
00
|
|
|
#20 | |||
|
Membre émérite
![]() Consultant E-Learning Inscription : août 2006 Messages : 646 ![]() |
OK, on finira par y voir clair
Citation:
Citation:
Si je comprends bien, ici, il se renvoie sur lui même (de A vers A) avec un paramètre qui passe par l'URL (paramètre: formRempli; valuer: 1). Paramètre que tu doit récupérer quelque part avec un request.querystring (puisqu'il est dans l'URL). Citation:
D'abord ton response.redirect, s'il n'est pas dans une boucle se fera de toute façon (qu'on clique sur le bouton submit ou pas). Ensuite, tu l'envoies sur C.asp sans paramètres... Donc C.asp ne peut rien récupérer comme paramètres... D'où ta requête SQL vide... D'où problème... D'où... encore un peu de boulôt ! Courage |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com