Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/06/2006, 09h39   #1
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
Par défaut [résolu]formulaire -> écrire dans un fichier .txt

Bonjour,

Voilà j'ai fais un bête formulaire html pour mon entreprise, ils m'ont demander de faire une fonction qui permet d'écrire les données des champs du formulaire dans un fichier .txt (pour en faire un bd par la suite). voiçi mon code:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<%@ LANGUAGE="VBSCRIPT" %>
<%option explicit%>
<%
dim test
Function EcrireDansFichier(Fichier, Contenu, Ajouter)
 
On Error Resume Next
 
If Ajouter = True Then
   LeMode = 8
Else
   LeMode = 2
End If
 
  Set Fs = Server.Createobject("Scripting.FileSystemObject")
  Set test = Fs.OpenTextFile(test.txt, 8, True)
 
  test.Write Contenu
 
  test.Close
  Set test = Nothing
  Set Fs = Nothing
 
End Function
%>

PARTIE HTML (FORMULAIRE) ( il est assez long, je vais vous l'épargnez :P)

<%
    Call EcrireDansFichier(test,"texte", True)
    Call EcrireDansFichier(test,vbCrLf & "2ème ligne", False)
%>
Je suis vraiment pas douer en ASP et ce code je l'est pris sur internet, je l'est modifier à ma guise mais résultat pas très confainquant, quand ont clique sur envoyer il recharge la page, tout à l'aire bon sauf qu'il n'écrit pas dans mon test.txt

Merci beacoup d'avance.

sd
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 10h10   #2
Membre régulier
 
Inscription : juillet 2005
Messages : 266
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 266
Points : 74
Points : 74
Par défaut une reponse

moi je fais comme ca..

prenons juste un formulaire avec un text area

html:

Code :
1
2
3
4
 
<form name="form1" method="post" action="add.asp">
<input name="tontext" type="text">
input type="submit" value="submit" name="submit">
page add.asp

Code :
1
2
3
4
5
6
7
 
Set ws = Server.CreateObject("Scripting.FileSystemObject")
if ws.FileExists(ton_chemin) then 
Set rs = fs.OpenTextFile(Server.MapPath(ton_chemin), 8, false)
ws.write(request.form("tontext"))
ws.Close
End if

voila, je crois que je ne me suis pas trompe
BernardT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 10h40   #3
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
Merci de ta réponse rapide.

J'ai essayer ta méthode, mais apparament la ligne :

Code :
Set ws = Server.CreateObject("Scripting.FileSystemObject")
à une faute car il me dit :

Error Type:
Server object, ASP 0177 (0x800401F3)
Invalid class string
/formulaire/add.asp, line 4

Voici mon index.html (formulaire):

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
<html>
	<head>
		<meta http-equiv="Content-Language" content="fr-ch">
		<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
		<title>Formulaire</title>
		<LINK rel="stylesheet" type="text/css" href="css.css">		
	</head>
	<body>
		<table border="0" CELLSPACING="0" CELLPADDING="0">
			<tr>
				<td rowspan="2"><IMG src="images/Getimage.gif"></td>
				<td height="70"><IMG src="images/logoware.gif"><br><IMG src="images/barre.jpg" width=820></td>
			</tr>
			<tr>
				<td height="718" valign="TOP">
				<br><div class="titre">&nbsp;&nbsp;Enrengistrement d'un nouveau soft</div><br>
				&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Exemple:</B>
					<form method="POST" name="formulaire" action="add.asp">
						<table border="0">
							<tr>
								<td>
									<table border="0">
										<tr>
											<td width="10"></td>
											<td><DIV class="texte">Nom</div></td>
											<td><input type="text" name="T1" size="30"></td>
										</tr>
										<tr>
											<td width="10"></td>
											<td><DIV class="texte">Editeur</div></td>
											<td><input type="text" name="T2" size="30"></td>
										</tr>
										<tr>
											<td width="10"></td>
											<td><DIV class="texte">URL éditeur</div></td>
											<td><input type="text" name="T3" size="30"></td>
										</tr>
										<tr>
											<td width="10"></td>
											<td><DIV class="texte">Version</div></td>
											<td><input type="text" name="T4" size="30"></td>
										</tr>
										<tr>
											<td width="10"></td>
											<td><DIV class="texte">Licence</div></td>
											<td><input type="text" name="T5" size="30"></td>
										</tr>
										<tr>
											<td width="10"></td>
											<td><DIV class="texte">Notes</div></td>
											<td><input type="text" name="T6" size="30"></td>
										</tr>
										<tr>
											<td width="10"></td>
											<td><DIV class="texte">Déscription</div></td>
											<td><textarea name="T7" rows="10" cols="40"></textarea></td>
										</tr>
										<tr>
											<td width="10"></td>
											<td><DIV class="texte">Créateur du formulaire</div></td>
											<td><input type="text" name="T8" size="1" maxlength="3"></td>
										</tr>
										<tr>
											<td>&nbsp;&nbsp;</td>
										</tr>
										<tr colspan="2">
											<td width="10"></td>
											<td><input type="submit" value="Envoyer" name="B1"></td>
										</tr>
									</table>
								</td>
								<td width="30"></td>
								<td valign="TOP"><img src="images/exemple.jpg"></td>
							</tr>
						</table>
					</form>	
				</td>
			</tr>
		</table>
	</body>
</html>
Voici la page add.asp:

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<%@ LANGUAGE="VBSCRIPT" %>
<%option explicit%>
<%
Set ws = Server.CreateObject("Scripting.FileSystemObject")
if ws.FileExists(test.txt) then 
Set rs = fs.OpenTextFile(Server.MapPath(test.txt), 8, false)
ws.write(request.form("T1"))
ws.Close
End if
%>
Merci
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 10h52   #4
Membre régulier
 
Inscription : juillet 2005
Messages : 266
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 266
Points : 74
Points : 74
remplace rs par ws dans la partie asp
si ca marche pas apres dis moi l erreur..

trop marrant, moi qui suis trop pourri j aide qqun
BernardT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 10h54   #5
Membre régulier
 
Inscription : juillet 2005
Messages : 266
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 266
Points : 74
Points : 74
nana attend c plutot ca
Code :
1
2
3
4
5
6
7
 
Set ws = Server.CreateObject("Scripting.FileSystemObject")
if ws.FileExists(ton_chemin) then 
Set rs = ws.OpenTextFile(Server.MapPath(ton_chemin), 8, false)
rs.write(request.form("tontext"))
rs.Close
End if
BernardT est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 11h07   #6
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
Toujours la même erreur.

Error Type:
Server object, ASP 0177 (0x800401F3)
Invalid class string
/formulaire/add.asp, line 4

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<%@ LANGUAGE="VBSCRIPT" %>
<%option explicit%>
<%
Set ws = Server.CreateObject("Scripting.FileSystemObject")
if ws.FileExists(test.txt) then 
Set rs = ws.OpenTextFile(Server.MapPath(test.txt), 8, false)
rs.write(request.form("T1"))
rs.Close
End if
%>
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 11h12   #7
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
ha... comme ca viens d'une autre page il faut pas faire un querystring ?
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2006, 21h50   #8
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Citation:
Envoyé par sd
ha... comme ca viens d'une autre page il faut pas faire un querystring ?
Non parce que la méthode est POST.
Ce serait pas plutôt des guillemets qui manquent ?
Code :
Set rs = ws.OpenTextFile(Server.MapPath("test.txt"), 8, false)
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2006, 09h47   #9
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
Merci de ta réponse j'ai essayer mais il me met cette erreur, si vous pouvez m'aidez se serai vraiment simpa je dois le finir au plus tôt :s

Error Type:
Server object, ASP 0177 (0x800401F3)
Invalid class string
/formulaire/add.asp, line 4
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2006, 12h14   #10
Membre actif
 
Inscription : mai 2004
Messages : 166
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2004
Messages : 166
Points : 178
Points : 178
j'ai eu un problème dans ce style, et sans que je comprenne vraiment pourquoi
il fallait que j'utilise
Code :
1
2
 
Set ws = CreateObject("Scripting.FileSystemObject")
et non
Code :
1
2
 
Set ws = Server.CreateObject("Scripting.FileSystemObject")
Alors à essayer on ne sait jamais!
amar00 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2006, 15h31   #11
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
J'ai essayé mais aparement il aime pas :p

Error Type:
Microsoft VBScript runtime (0x800A01AD)
ActiveX component can't create object: 'Scripting.FileSystemObject'
/formulaire/add.asp, line 4
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/07/2006, 21h10   #12
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
C'est quoi la configuration de ta machine? Quels sont tes privilèges dessus?
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 10h00   #13
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
Je suis administrateur de ma machine qui tourne sous windows XP pro SP2.
J'ai déjà fais quels que page .asp donc sa provient surment pas du ISS
bon je vous mets en attache ma page, j'ai essayer plus de 30'000 facons aucunes ne fonctionne.

PS: a savoir que mon fichier .txt (test.txt) est au même niveau que ma page .asp

Merci ++
Fichiers attachés
Type de fichier : asp index.asp (4,6 Ko, 2 affichages)
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 13h21   #14
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
TROUVER !!!! IE 7 beta 3 DE MER***

Il inscrit un .dll dans windows\system32 qui permet plus au scripting de s'éxecuté.

++
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 13h21   #15
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Bon,
1 - déjà tu confonds fonction et procédure. Ta fonction ne renvoi pas de valeur, il faut donc en faire une procédure.
2 - enlève le on error resume next car tu ne fais pas de gestion d'erreur
3 - n'appel pas ta fonction ou procédure depuis l'interieur de celle-ci. Cela provoque une récurrence qui ici ne sert à rien.
4 - tu mets un otpion explicit dans ta page, mais tu ne déclares pas tes variables contenuX => oublie les et utilises request.querystring à la place. Tu ne déclare pas non plus FS.

Y'a plein de petites fautes qui montrent un manque de rigueur.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 13h22   #16
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Citation:
Envoyé par sd
TROUVER !!!! IE 7 beta 3 DE MER***
Il inscrit un .dll dans windows\system32 qui permet plus au scripting de s'éxecuté.
++
Bizarre, car ce script est un script serveur, pas client!
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 13h25   #17
sd
Membre à l'essai
 
Inscription : décembre 2005
Messages : 47
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 47
Points : 20
Points : 20
Oui, j'ai tout régler ca, merci mais le gros prob c'étais surtout ie7 comme je l'est dit avant :p

++

PS: si quel qu'un voudrai ou as des problème avec sa fonction asp qui écrit les champs d'un formulaire dans un .txt, j'ai atacher une page asp avec la fonction proprement édité :p
Fichiers attachés
Type de fichier : asp index.asp (1,4 Ko, 0 affichages)
sd est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2006, 13h26   #18
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965


Merci
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h15.


 
 
 
 
Partenaires

Hébergement Web