begin process at 2012 05 28 13:38:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP / ASP3

 > 

Scripting

 > 

VBScript

 > 

" Trouvez Charlie! " bug de script .asp


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

" Trouvez Charlie! " bug de script .asp

dimanche 4 octobre 2009 à 03:01:03 | " Trouvez Charlie! " bug de script .asp

great2talkwith


Bonjour! J'aimerais avoir de l'aide. Voici je n'arrive pas a faire envoyer mon email de notification apres que l'utilisation s'est enregistré. Pourtant, le tout se crée parfaitement dans la BD access, mais c'est comme si il ne veut pas continuer le script ensuite... Erreur de syntaxe??? Tres simple, il s'inscrit et l'action appelée est "1"....

MERCI!

<!--METADATA TYPE="typelib"
UUID="CD000000-8B95-11D1-82DB-00C04FB1625D"
NAME="CDO for Windows 2000 Library" -->
<!--METADATA TYPE="typelib"
UUID="00000205-0000-0010-8000-00AA006D2EA4"
NAME="ADODB Type Library" -->


<%
Dim action
action = Request.QueryString("action")


If action = 1 Then

Dim objConnection, objRecordset, SQLs, strUserID
Dim strPassword, strFname, strLname, strAddress, strCity, strCountry
Dim strZip, strUserType, strJoinDate, strEducation, strNewsletter, strEmail, strCareer,strUnion,strMalefemale,strExperience

Set objConnection = Server.CreateObject("ADODB.Connection")
Set objRecordset = Server.CreateObject("ADODB.Recordset")
objConnection.Open Application("ConnectionString")

strUserType= 0

strFname=Replace(Request.Form("firstname"), "'", "''")
strLname=Replace(Request.Form("lastname"), "'", "''")
strAddress=(Request.Form("address"))
strCity=(Request.Form("city"))
strZip=(Request.Form("zip"))
strCountry=(Request.Form("country"))
strEmail=(Request.Form("emailaddress"))
strPassword=(Request.Form("password"))
strCareer=(Request.Form("careerlevel"))
strEducation=(Request.Form("education"))
strJoinDate=(Request.Form("joindate"))
strNewsletter=(CInt(Request.Form("newsletter")))
strUnion = (Request.Form("Union"))
strMalefemale = (Request.Form("malefemale"))
strExperience = (Request.Form("experience"))
If strNewsletter <> 1 Then
strNewletter = 0
End If
' ## ERROR CONTROL ##
objConnection.Errors.Clear ' just to be safe, clear out any existing errors
'On Error Resume Next ' then IGNORE errors!

' Put parameters in registration database.
SQLs = "INSERT INTO Users (Email, Fname, Lname, UsrPassword, Address, City, Country, Zip, " & _
"CareerLevel, Education, JoinDate, Newsletter, UserType) "
SQLs = SQLs & "VALUES ("
SQLs = SQLs & "'" & strEmail & "',"
SQLs = SQLs & " '" & strFname & "',"
SQLs = SQLs & " '" & strLname & "',"
SQLs = SQLs & " '" & strPassword & "',"
SQLs = SQLs & " '" & strAddress & "',"
SQLs = SQLs & " '" & strCity & "',"
SQLs = SQLs & " " & strCountry & ","
SQLs = SQLs & " '" & strZip & "',"
SQLs = SQLs & " '" & strCareer & "',"
SQLs = SQLs & " '" & strEducation & "',"
SQLs = SQLs & " '" & strJoinDate & "',"
SQLs = SQLs & " '" & strNewsletter & "',"
SQLs = SQLs & " " & strUserType & ")"

'Response.write SQLs
'Response.end


Application.Lock
objConnection.Execute(SQLs)
Application.Unlock

' ## ERROR CONTROL ##
'On Error GoTo 0 ' turn off the ignoring of errors!
' now see if we got any errors from the insert!
For Each oops In objConnection.Errors
If oops.number = -2147217900 Then
'If oops.number = -2147467259 Then
Session("Session_Message") = "The email address you entered already exists. <br />" & _
"<a href=""../forgotpass.asp"">Forgot password? Click here</a>"
Response.Write "That item already exists in that table!<BR>"
'Create the Query String
Dim strQueryString
strQueryString = "?firstname=" & strFname & "&lastname=" & strLname & "&address=" & strAddress & _
"&city=" & strCity & "&zip=" & strZip & "&emailaddress=" & strEmail

Response.Redirect("../candidate/contactinfo.asp" & strQueryString)
Response.End()
Else
Response.Write "Unexpected error: " & oops.number & " -- " & oops.description
Response.End()
End If

'Next

' The following assigns the new UserID to strUserID
Set objRecordset = objConnection.Execute("SELECT @@IDENTITY") ' Create a recordset and_
' SELECT the new Identity
strUserID = objRecordset(0) ' Store the value of the new identity in variable strUserID

Session("User_ID") = objRecordset("UserID")
Session("User_Type") = objRecordset("UserType")
Session("User_Name") = objRecordset("Fname") & " " & objRecordset("Lname")
Session("UserLoggedIn") = true

Session("User_ID") = strUserID
Session("Login_Name") = ""

objConnection.Close
Set objRecordset = Nothing

LoginUser (strUserID)

Session("Session_Message") = "Welcome " & Session("User_Name")
Session("paid") = 0

'Envoyons un courriel/Let's send the email

dim htmlmessage
dim strSiteURL
strSiteURL = "http://www.mywebsiteurl.com/"
htmlmessage = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.01 Transitional//EN"">"
htmlmessage = htmlmessage & "<html><head><title>"
htmlmessage = htmlmessage & "Nouveau candidat</title>"
htmlmessage = htmlmessage & "<style type=""text/css"">"
htmlmessage = htmlmessage & "<!--"
htmlmessage = htmlmessage & "Body {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px}"
htmlmessage = htmlmessage & "TD {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px}"
htmlmessage = htmlmessage & "-->"
htmlmessage = htmlmessage & "</style>"
htmlmessage = htmlmessage & "<META HTTP-EQUIV=""Content-Type"" Content=""text-html; charset=Windows-1252"">"
htmlmessage = htmlmessage & "</head>"
htmlmessage = htmlmessage & "<body topmargin=""5"" leftmargin=""5"" bgcolor=""#FFFFFF"" text=""#000000"">"
htmlmessage = htmlmessage & "<b>mywebsiteurl.com</b><hr>"
htmlmessage = htmlmessage & "Welcome to mywebsiteurl.com. Your new account is setup.<hr>"
htmlmessage = htmlmessage & "<table width=""50%"" border=""0"" cellspacing=""0"" cellpadding=""1"">"
htmlmessage = htmlmessage & "<tr>"
htmlmessage = htmlmessage & "<td><b>Email Address: </b>" & strEmail &"</td>"
htmlmessage = htmlmessage & "</tr>"
htmlmessage = htmlmessage & "<tr>"
htmlmessage = htmlmessage & "<td><b>Your Password: </b>"& strPassword &"</td>"
htmlmessage = htmlmessage & "</tr></table>"
htmlmessage = htmlmessage & "<P><a href=""http://" & strSiteURL & """>" & strSiteURL & "</a></P>"
htmlmessage = htmlmessage & "</body></html>"
CDOSendEmail2 htmlmessage, strEmail
Response.Redirect("http://mywebsiteurl/checkemail.html")
If Session("UserLoggedIn") = true Then
Response.Redirect("../candidate/default.asp")
End If

Next

Else If action = 2 Then


Dim strSQL

Set objConnection = Server.CreateObject("ADODB.Connection")
Set objRecordset = Server.CreateObject("ADODB.Recordset")
objConnection.Open Application("ConnectionString")

strSQL = "UPDATE Users SET " & _
"Fname = '" & Replace(Request.Form("firstname"), "'", "''") & "', " & _
"Lname = '" & Replace(Request.Form("lastname"), "'", "''") & "', " & _
"Address = '" & Replace(Request.Form("address"), "'", "''") & "', " & _
"City = '" & Replace(Request.Form("city"), "'", "''") & "', " & _
"Zip = '" & Replace(Request.Form("zip"), "'", "''") & "', " & _
"Country = '" & Replace(Request.Form("country"), "'", "''") & "', " & _
"UsrPassword = '" & Replace(Request.Form("password"), "'", "''") & "', " & _
"CareerLevel = '" & Replace(Request.Form("careerlevel"), "'", "''") & "', " & _
"unionaff = '" & Replace(Request.Form("union"), "'", "''") & "', " & _
"malefemale = '" & Replace(Request.Form("malefemale"), "'", "''") & "', " & _
"experience = '" & Replace(Request.Form("experience"), "'", "''") & "', " & _
"NewsLetter = '" & Cint(Request.Form("newsletter")) & "' " & _


"WHERE UserID = " & session("User_ID") & ""


'Response.write strSQL
'Response.end


' Use the execute method of the connection object the insert the record
objConnection.execute(strSQL)

objConnection.close
set objConnection = nothing



' Confirmation message
Session("Session_Message") = Replace(Session("User_Name"), "''", "'") & " your personal information has been updated."

Response.Redirect "../candidate/default.asp"
END IF


Sub LoginUser (strUserID)
Dim objConnection, objRecordset, SQLs

Set objConnection = Server.CreateObject("ADODB.Connection")
Set objRecordset = Server.CreateObject("ADODB.Recordset")
objConnection.Open Application("ConnectionString")

SQLs=""
SQLs= "SELECT UserID, Email, Fname, Lname, UserType FROM Users WHERE UserID = " & strUserID & ""
Set objRecordset=objConnection.Execute(SQLs)

Session("User_ID") = objRecordset("UserID")
Session("User_Type") = objRecordset("UserType")
Session("User_Name") = Replace(objRecordset("Fname"), "''", "'") & " " & Replace(objRecordset("Lname"), "''", "'")
Session("Login_Name") = objRecordset("Email")
Session("UserLoggedIn") = true

objConnection.Close
Set objRecordset = Nothing
End Sub


Sub CDOSendEmail2(MessageBody, SendTo)
Dim NewMail, objConfig, bSuccess, strErr
bSuccess = False

Set NewMail = Server.CreateObject("CDO.Message")
Set objConfig = Server.CreateObject("CDO.Configuration")

Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoSendUsingPort = 2 'Must use this to use Delivery Notification
Const cdoAnonymous = 0
Const cdoBasic = 1 ' clear text

dim strMailServer
dim strMailServerPort
dim strFromEmail
strMailServer = "relay-hosting.secureserver.net"
strMailServerPort = 25
strFromEmail = "info@mywebsiteurl.com"

'Configuration:
objConfig.Fields(cdoSendUsingMethod) = cdoSendUsingPort
objConfig.Fields(cdoSMTPServer) = strMailServer ' value from DB
objConfig.Fields(cdoSMTPServerPort) = strMailServerPort
objConfig.Fields(cdoSMTPAuthenticate) = cdoAnonymous

'Update configuration
objConfig.Fields.Update
Set NewMail.Configuration = objConfig

NewMail.To = "<" & SendTo & ">" ' value passed from Form
NewMail.From = strFromEmail ' value of From Admin of site from DB
NewMail.Subject = strSubject
NewMail.HTMLBody = MessageBody

On Error Resume Next ' catch errors
NewMail.Send
If Err <> 0 Then ' error occurred
strErr = Err.Description
else
bSuccess = True
End If

if bSuccess = False Then
Response.Write("Error sending mail to " + SendTo + ", message: " + strErr)
Session("Session_Message") = Session("Session_Message") + "<br /> Error sending mail to " + SendTo + ", message: " + strErr + "<br />"
end if

Set NewMail = Nothing
Set objConfig = Nothing
End Sub
End if

%>


La patience est 50% d'un projet web réussi!
lundi 5 octobre 2009 à 11:44:51 | Re : " Trouvez Charlie! " bug de script .asp

Nurgle

Membre Club Administrateur CodeS-SourceS
Salut,
"La patience est 50% d'un projet web réussi!" --> apparement tu n'es pas très patient, vu que tu es venu nous demander de chercher à ta place ! Cf. Le Réglement de CodeS-SourceS.

Quel est le message d'erreur ? A quelle ligne se situe-t-elle ?
Si tu n'as même pas de message d'erreur :
Enlève de ton code cette horreur de "On Error Resume Next" partout où il apparait, comme ça les erreurs apparaissent au lieu d'être cachées sous le tapis...
Du coup tu verras l'erreur et tu sauras même à quelle ligne elle est !

Bonne journée,
Antoine
lundi 5 octobre 2009 à 13:29:50 | Re : " Trouvez Charlie! " bug de script .asp

great2talkwith



OUff.. ook ok on oublie ca.

Point numéro 1: Les gens comme moi qui "osent" demander de l'aide sur le forum c'est parcequ'ils on cherché pendant des heures sans parvenir à trouver la solution. C'est logique de demander de l'aide.
Point numéro 2: Une réponse du genre "Enlève de ton code cette horreur,," rabaisse la personne qui cherche (puisqu'elle demande de l'aide) non seulement elle est se fait dire qu'elle est lâche mais en plus , pas assez allumée pour enlever les "horreurs" de son code..

Conclusion, rien à battre d'un "forum" comme ca. Mon cher Nurgle, j'espere que ta vie se passe entierement sur le web puisque ton savoir-être en société (réel, la vrai vie, celle que tu n'as pas) c'est à chier.
lundi 5 octobre 2009 à 14:00:57 | Re : " Trouvez Charlie! " bug de script .asp

Nurgle

Membre Club Administrateur CodeS-SourceS
Du calme, effectivement je suis un peu brutal, mais c'est malheureusement une conséquence du manque d'orthographe/de recherche/de précisions dans les questions qui finissent par frustrer les gens. Je te conseille d'aller voir dans le Bar ou sur VBFrance, ils sont là encore plus frustrés, mais voient aussi beaucoup plus de questions de ce type.

Quant à l'"horreur", ça n'a rien à voir avec toi, mais avec ASP3, et c'est effectivement une horreur : une des bonnes pratiques élémentaires quand on code est de pouvoir savoir s'il y a une erreur quelque part, or le "On Error Resume Next" a pour but d'ignorer toute erreur et de continuer.

Tu admetteras cependant qu'il y avait un problème majeur dans ta question :
1- Soit tu avais un message d'erreur, t'indiquant la ligne, et le Trouver Charlie avec le gros tas de code n'avait pas lieu d'être.
2- Soit il n'y avait pas de message : là tu aurais du chercher pourquoi dans ton code, et soit trouver la solution, soit avoir l'idée d'enlever les "On Error Resume Next" pour voir l'erreur.
3- Dans le dernier cas où tu ne savais pas à quoi servait "On Error Resume Next", ça veut dire que ton code est du code copier/coller d'autre part, que tu ne comprends même pas. Dans ce cas si tu avais cherché à le comprendre, tu auras trouvé l'erreur, ou alors à quoi sert "On Error Resume Next", voire les deux.

Dans tous les cas, un copier/coller et un message "Trouver l'erreur pour moi" est innaceptable !

Le pire étant que dans ton message au début, tu nous dit que la partie BDAccess fonctionne bien, mais c'est après qu'est le problème. Du coup tu aurais pû réduire sensiblement le nombre de lignes où se trouvait l'erreur, et du coup être plus précis.

Bonne journée,
Antoine

PS : ma vie réelle se porte très bien. D'ailleurs, c'est justement parce que ce genre de comportement est irritant dans la vie réelle que je me permet aussi d'être irrité ici.
lundi 12 octobre 2009 à 10:39:22 | Re : " Trouvez Charlie! " bug de script .asp

Yopyop


Salut,

Pas trop sûr mais il me semble que ton envoi d'email est dans la boucle
For Each oops In objConnection.Errors
...
Envoi de l'email
Next

Donc s'il n'y a pas d'erreur, l'email ne sera pas envoyé.
[yopyop]


Cette discussion est classée dans : session, objconnection, objrecordset, sqls, htmlmessage


Répondre à ce message

Sujets en rapport avec ce message

les Session du Global.asa [ par Ondex ] Je suis pret a me tirer une balle tellement j'en ai baver et sans trouver de reponse : je voudrai : - soit recuperer une variable de session dans l les Sessions du Global.asa [ par Ondex ] Je suis pret a me tirer une balle tellement j'en ai baver et sans trouver de reponse : je voudrai : - soit recuperer une variable de session dans l Session + Compte NT [ par fseb ] Bonjour, je voudrais crére une session sur mon intranet en Asp, mais au lieu de faire rentrer à l'utilisteur son Nom et Mot de passe, je voudrais récu Alter session [ par mireille ] Comment peut on fermer une session sous oracle ?J'ai tenté la commande "Alter session close database link mybdd", mais j'ai le message d'erreur suivan Formulaire->Session [ par peguman ] Par un formulaire, je fais passer 2 variables, login et password, vers une page qui contient 3 frames...Pour pouvoir les utiliser, je pensait mettre l Formulaire->Session [ par peguman ] Par un formulaire, je fais passer 2 variables, login et password, vers une page qui contient 3 frames...Pour pouvoir les utiliser, je pensait mettre l probleme SQL ??? ou variable ASP??? [ par peguman ] Je souhaite me connecter à une base après vérification de l'identité d'un client...Je passe en parametre le log et le pass et je les vérifies dans ma Pb avec objet session -Session.Contents.Remove [ par Fabrice ] J ai un message d erreur Windows Vbscriptquand je cherche a effacer une variable Session.Contents.Remove("var")Cela ne fontionne pas , j ai une erreur Sur l'objet Session [ par JNZ ] Qui pourrait me dire à partir de quelle version de IIS la méthode Session.Contents.Remove(quelquechose)et Seesion.Contents.RemoveAll() fonctionnet.Mer Session_OnEnd & variable [ par Ondex ] salut a tous,bon, j'ai un petit pb, je n'arrive pas a recuperer une variable contenu dans une session quand celle çi se termine, voici mon code :-----


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,742 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales