Form+post *2 [Résolu]

Signaler
Messages postés
52
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
10 juillet 2008
-
Messages postés
52
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
10 juillet 2008
-
oila j ai une page qui me permet l ecriture dans une base de donnée via un formulaire ,cette page et une page "d envoie de mail" je veux pouvoir ecrire deux enregistrements en generant deux id dans ma base de donnee a savoir l envois d un premier mail avec une adresse x et l envois du meme mail avec une adresse y e cela en meme temps
help me please
<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="Connections/ludwig.asp" -->
<%
' *** Edit Operations: declare variables

Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd

Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId

Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i

MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If

' boolean to abort record edit
MM_abortEdit = false

' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables

If (CStr(Request("MM_insert")) = "ecrire") Then

MM_editConnection = MM_ludwig_STRING
MM_editTable = "message"
MM_editRedirectUrl = "home_compte_envois_mail_confirme.asp"
MM_fieldsStr = "mail|value|prio|value|sujet|value|date1|value|identification|value|etat|value|piecejointe|value|message|value|mymail|value"
MM_columnsStr = "pourqui|',none,''|stocke|',none,''|sujet|',none,''|daton|',none,''|identification|',none,''|etat|',none,''|fichie|',none,''|message|',none,''|dequi|',none,''"

' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")

' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next

' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If

End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tableValues
Dim MM_dbValues

If (CStr(Request("MM_insert")) <> "") Then

' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),",")
MM_delim = MM_typeArray(0)
If (MM_delim "none") Then MM_delim ""
MM_altVal = MM_typeArray(1)
If (MM_altVal "none") Then MM_altVal ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal "none") Then MM_emptyVal ""
If (MM_formVal = "") Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "") Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'") Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

If (Not MM_abortEdit) Then
' execute the insert

8 réponses

Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Enfin, quand je dis toute la partie "Insert Record" ... je vois un peu large
Il faudrait que tu fasses deux fois le Conn.Execute qui va exécuter ta requête, ça suffira...

<hr size="2" width="100%">Nurgle (Antoine)
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
Salut,



Et quel est donc ton problème ? Un message d'erreur ? Pas de mail ? trop de mails ? ... ?

Ton bout de code n'est pas complet, je suppose que c'est parce qu'il y a un problème dans la partie présentée ?

En l'état, on ne peut pas le tester (incomplet, noms de controles un
peu partout => on ne saurait pas recréer ton environnement), donc
pour savoir ce qui ne va pas ... dur dur.


Manu
Messages postés
52
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
10 juillet 2008
1
alors en fait si tu as du temps je peux te donner l url de mon site si tu veux regarder mon probleme en fait c un formulaire qui envois des données sur ma table en inserant un enregistrement seulement cette page est sur le site une page d "envoie de mail" et je veux pouvoir envoyer a une deuxieme adresse mail virtuelle le meme message ou (formulaire) en un seul envoie donc faire deux enregistrements du meme formulaire en generant deux id dans ma table et merci de ton aide
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Salut,

Le meilleur moyen d'effectuer deux fois le même traitement (plutôt que de dupliquer tout le code ) est de le mettre dans une fonction, et ensuite d'appeler celle-ci deux fois.
<%
Sub DoSomeThing
''
End Sub

DoSomeThing()
DoSomeThing()
%>

Et effectivement, tu pourrais préciser si tu poses ta question à cause d'un problème pour faire ça (dans ce cas il faudrait nous donner le message d'erreur, etc...) ou si tu demandes tout simplement comment faire deux fois le même traitement

PS : Ce n'est pas la peine de demander par MP de répondre à ton problème (quelqu'un t'aurais bien répondu :p) ni de reposter la même question juste après !

<hr size="2" width="100%">Nurgle (Antoine)
Messages postés
52
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
10 juillet 2008
1
merci pour ton aide mais je vois toujours pas comment faire
Messages postés
1642
Date d'inscription
samedi 6 novembre 2004
Statut
Modérateur
Dernière intervention
28 avril 2011
3
Eh bien, d'après ce que je vois de ton code, tu pourrais mettre en double toute la partie nommée "*** Insert Record: construct a sql insert statement and execute it" comme ça tu auras deux enregistrements dans ta table.
Et tu peux faire pareil pour l'envoi du mail, en changeant l'adresse email de destination.

<hr size="2" width="100%">Nurgle (Antoine)
Messages postés
52
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
10 juillet 2008
1
merci pour les infos et ton aide:)
Messages postés
52
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
10 juillet 2008
1
merci pour les infos et ton aide:)