![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| ASP Développement Web ASP (pour ASPX voir le forum .NET). Voir FAQ ASP & Tutoriel ASP |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) | |
|
Nouveau membre du Club
![]() Date d'inscription: octobre 2008
Localisation: Suisse
Messages: 63
|
Bonjour,
j'ai beau chercher, mais je ne trouve pas comment récupérer les données de nom formulaire d'inscription, dans ma base de donnée Access. Voici mon code de ma page de récupération : ---------------------------- Code :
<% Dim Nom, Prenom, Societe, Email, Pass1, Pass2, rs, Connstring Nom = Request.Form("Nom") Prenom = Request.Form("Prénom") Societe = Request.Form("Société") Email = Request.Form("Email") Pass1 = Request.Form("Mot de passe") Pass2 = Request.Form("Retapez votre mot de passe") %> <% Set cnn = Server.CreateObject("ADODB.Connection") ConnString = "DBQ=" & Server.MapPath("/test/recup.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25" cnn.Open ConnString SQL = "SELECT * FROM (Donnee)" Set RS = Cnn.Execute(SQL) %> <% SQL="SELECT * FROM (Donnee)" Set RS = Server.CreateObject("ADODB.Recordset") RS.Open SQL.Conn RS.addnew RS("Nom") = Request.Form ("Nom") RS("Prenom") = Request.Form ("Prénom") Rs("Societe") = Request.Form ("Société") RS ("Email") = Request.Form("Email") RS ("Pass1") = Request.Form("Mot de passe") RS ("Pass2") = Request.Form("Retapez votre mot de passe") RS.update Set RS = Nothing %> Votre enregistrement a bien été fait. <% cnn.Close %> Quand je test ma page, l'erreur suivante me vient : Citation:
Et est-ce le bon code pour retrouvé les données que mon visiteur a mis dans la page d'inscription ? Désolé de toute ces questions mais je ne m'y connais pas très bien, et je ne trouve pas beaucoup de documentation. Si vous pouviez m'aider(meme juste me donner des liens), Merci d'avance ! Dernière modification par Immobilis ; 07/11/2008 à 22h48 |
|
|
|
|
|
|
#2 (permalink) |
![]() |
Salut,
Première chose, inutile d'ouvrir et fermer le code asp pour chaque instruction. Deux, pourquoi as-tu deux fois la requete Select pour dire la même chose ? Trois, tu n'es pas en vba ici, utilises plutot la requete update (ou Insert) pour enregistrer tes informations provenant d'un formulaire. Quatre, évite les espaces dans tes variables p.e : request.form("mot de passe") De plus, à quoi te sert tes variables nom, prenom etc... si tu mets à l'insertion request.form("").. ?? Cinq, utilises les balises code (#) du forum pour faire la distinction code - problème exposé. Enfin, toutes les valeurs récuperant du text tu dois leur appliquer ceci : nom = request.form("nom") nom = replace(nom,"'","''") Si tu ne fais pas ça, il suffit que l'on mette un apostrophe à son nom (ou autre champ de type text) pour dire que la syntaxe de la requete est fini. Voiloù
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir !---------------- Essayez d'expliquer, de la façon la plus claire possible votre problème. ---------------- Parfois une image vaut mieux qu'un long discours ---------------- FAQ ASP Dernière modification par Immobilis ; 07/11/2008 à 22h50 |
|
|
|
|
|
#3 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: octobre 2008
Localisation: Suisse
Messages: 63
|
Merci beaucoup !! J'ai tout refait mon code. J'arrive a afficher les informations que l'utilisateur a remplis dans le formulaire sur ma page de récupération.
Par contre, pour l'enregistrement des donnée, ca ne fonctionne toujours pas. Mon nouveau code : Code :
<% Set cnn = Server.CreateObject("ADODB.RecordSet") ConnString = "DBQ=" & Server.MapPath("/test/TestPass.mdb") & ";Driver={Microsoft Access Driver (*.mdb)};DriverId=25" 'Ouverture de la table dans la base cnn.Open "Donnee", Connstring, 2,3,2 'Création d'un 'nouvel' enregistrement cnn.AddNew() 'Sauvegarde des valeurs cnn("Nom") = replace(Nom, "<", "<") cnn("Prenom") = replace(Prenom, "<", "<") cnn("Societe") = replace(Societe, "<", "<") cnn("Email") = replace(Email, "<", "<") cnn("Pass1") = replace(Pass1, "<", "<") cnn("Pass2") = replace(Pass2, "<", "<") 'Enregistrement dans la base de donnée cnn.UpDate 'Fermeture et destruction du record set cnn.close Set cnn=Nothing %> Microsoft OLE DB Provider for ODBC Drivers erreur '80004005' [Microsoft][Pilote ODBC Microsoft Access] Mise à jour impossible. La base de données ou l'objet est en lecture seule. /test/recuperation.asp, ligne 45 |
|
|
|
|
|
#6 (permalink) |
![]() Date d'inscription: mars 2004
Messages: 3 439
|
Salut,
Il faut donner les droits de "modification" sur la base de données à l'utilisateur IUSR_NOMDELAMACHINE qui est l'utilisateur délégé utilisé par IIS. A+
__________________
Pensez au tag MerkiRejoignez-moi sur les groupes sociaux suivants: Tomb Raider Underworld. Quelle est votre Lara préférée? | America's Army La Sophrologie |
|
|
|
|
|
#7 (permalink) |
|
Membre expérimenté
![]() Date d'inscription: avril 2007
Localisation: la côte d'Uzur
Messages: 594
|
... et également, si je ne m'abuse, les mêmes droits au dossier contenant ladite base
__________________
" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir." (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)
|
|
|
|
|
|
#8 (permalink) | |
![]() Date d'inscription: mars 2004
Messages: 3 439
|
Citation:
A+
__________________
Pensez au tag MerkiRejoignez-moi sur les groupes sociaux suivants: Tomb Raider Underworld. Quelle est votre Lara préférée? | America's Army La Sophrologie |
|
|
|
|
|
|
#10 (permalink) |
![]() Date d'inscription: mars 2004
Messages: 3 439
|
Peux-tu etre plus explicite? Les droits de quoi lire, ecrire, modifier?
__________________
Pensez au tag MerkiRejoignez-moi sur les groupes sociaux suivants: Tomb Raider Underworld. Quelle est votre Lara préférée? | America's Army La Sophrologie |
|
|
|
|
|
#11 (permalink) |
|
Nouveau membre du Club
![]() Date d'inscription: octobre 2008
Localisation: Suisse
Messages: 63
|
Les droits au dossiers. Et j'ai controlé, ma base n'est pas en lecture seule.
Je ne vois vraiment pas ce qui cloche, et je dois avancé dans mon travail En tout cas merci de m'aidez |
|
|
|
|
|
#12 (permalink) |
![]() Date d'inscription: mars 2004
Messages: 3 439
|
Désolé ça veut rien dire. Quels sont les privilèges du compte utilisé pour IIS?
A+
__________________
Pensez au tag MerkiRejoignez-moi sur les groupes sociaux suivants: Tomb Raider Underworld. Quelle est votre Lara préférée? | America's Army La Sophrologie |
|
|
|
|
|
#13 (permalink) | |
![]() |
Citation:
Deux choses 1/ Vire moi c'est ", 2,3,2" qui pour moi n'ont aucun intérêt, je ne les utilise jamais. 2/ Je me répète tu n'es pas en vb access, utilise une requête d'ajout INSERT plutôt que rs.addnew ce qui t'évitera d'avoir un SELECT (à utiliser en fait, uniquement pour vérifier s'il n'y aurait pas un doublon)
__________________
Ne dites pas Java pour dire Javascript ! Ces deux codes n'ont rien à voir !---------------- Essayez d'expliquer, de la façon la plus claire possible votre problème. ---------------- Parfois une image vaut mieux qu'un long discours ---------------- FAQ ASP |
|
|
|
|
|
|
#14 (permalink) | ||
![]() Date d'inscription: mars 2004
Messages: 3 439
|
Citation:
Bah si tu dis pas pourquoi c'est pas interessant. Cette écriture est propre et sympathique. Pourquoi ne devrait-il pas l'utiliser? Citation:
Bon, je te cherche un peu kaiser59 . Il faut expliquer un peut.
A+
__________________
Pensez au tag MerkiRejoignez-moi sur les groupes sociaux suivants: Tomb Raider Underworld. Quelle est votre Lara préférée? | America's Army La Sophrologie Dernière modification par Immobilis ; 14/11/2008 à 23h00 |
||
|
|
|
|
|
#15 (permalink) | |||
|
Membre expérimenté
![]() Date d'inscription: avril 2007
Localisation: la côte d'Uzur
Messages: 594
|
Bonjour
Citation:
Le genre de bout de code qui marche très bien : Code :
Dim rsCateg Set rsCateg = Server.CreateObject("ADODB.Recordset") rsCateg.ActiveConnection = connString rsCateg.Source = "SELECT * FROM donnees where id=-1" rsCateg.CursorType = 2 rsCateg.CursorLocation = 2 rsCateg.LockType = 3 rsCateg.Open() '... ' La clause where id=-1 pour recevoir un jeu d'enregistrement vide ' c'est pour l'exemple rsCateg.addnew rsCateg("nom")="..." rsCateg("prenom")="..." ' etc ... rsCateg.update Citation:
Une requête insert aura des performances bien meilleures (y paraît, pas fais de bench), peut être utilisée au sein de transactions, etc ... , mais l'utilisation du code ci-dessus facilite grandement la maintenance (genre on te demande de rajouter une quinzaine ou une trentaine de champs supplémentaires de champs dans ta base, avec les traitements qui vont avec) ( c'est du vécu ! Un petit conseil : Citation:
Code :
function traitement(data)
dim d
d=replace(data, "<", "<")
traitement=d
end function
cnn("Nom") = traitement(Nom)
__________________
" La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir." (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)
|
|||
|
|
|
|
![]() |
![]() |
||
Récupérer les données d'un formulaire
|
||
| Outils de la discussion | |
|
|