Bonjour,
Actuellement en stage de fin d'année d'etude , je dois developper en ASP et j'éprouve certaines difficultés.
Je m'explique: je souhaite récuperer les mots clefs du site google que les internautes ont tapé pour tomber sur mon site.. J'ai trouvé un code en ASP.net mais il me le faut en ASP et je ne connais pas du tout l'ASP.net
Voici le code en ASP.net:
* 'Déclaration des variables.
* Dim google As String = ""
* Dim mot As String = ""
* google = Request.UrlReferrer.ToString
*
* 'on vérifie que le referrer est bien google
* If Left(google, 17) = "http://www.google" Then
*
* Dim longueur As Integer
* Dim testq As String
* Dim position As Integer = 0
* Dim pos2 As Integer
* longueur = google.Length 'longueur de la string google afin de mettre une limite a notre for...next
* For position = 0 To longueur - 1
* 'on teste que le caractère est bien q. Si c'est le cas, les caractères qui suivent sont les mots clés
* testq = google.Chars(position)
* If testq = "q" Then
* For pos2 = position + 2 To longueur - 1 'le + 2 sert à enlever le "=" qui suit le "q"
* If google.Chars(pos2) <> "&" Then '& signifie que les mots clés sont terminés
* If google.Chars(pos2) = "+" Then 'séparation des mots clés
* motcle(mot) 'on passe à un autre mot, donc on appelle la sub motcle pour stocker mot
* mot = ""
*
* Else
* mot += google.Chars(pos2) 'remplissage de la variable mot
* End If
* Else
* motcle(mot) 'on a rencontré le caractère "&" donc plus de mots clés par la suite
* Exit For
* End If
* Next
* Exit For
* End If
*
* Next
*
* End If
*
* 'sub permettant de stocker les mots clés dans la BD
* Sub motcle(ByVal mot As String)
* Dim test As String 'le test permet de savoir si on a déjà stocké ce mot clé
* Dim con As New SqlConnection
* con.ConnectionString = "whatever"
*
* Dim com As New SqlCommand
* com.Connection = con
*
* com.CommandText = "select * from Mots where Mots ='" & mot & "'"
* Dim dr As SqlDataReader
* con.Open()
* dr = com.ExecuteReader
* While dr.Read
* test = "ok" '"ok" signifie qu'on a déjà stocké ce mot. On incrémente donc le champ NB au lieu d'insérer
* End While
* dr.Close()
* con.Close()
*
* If test = "ok" Then
* 'incrémentation de NB pour savoir combien de fois le mot a été utilisé
* con.ConnectionString = "whatever"
* Dim comU As New SqlCommand
* comU.CommandText = "update Mots set NB = NB + 1 where Mots ='" & mot & "'"
* comU.Connection = con
*
* con.Open()
* comU.ExecuteNonQuery()
* con.Close()
* Else
* 'Si ce mot n'a jamais été utilisé, on l'insère dans la BD et on assigne "1" au champ NB
* con.ConnectionString = "whatever"
* Dim comI As New SqlCommand
* comI.CommandText = "insert into Mots(Mots,NB) VALUES('" & mot & "',1)"
* comI.Connection = con
* con.Open()
* comI.ExecuteNonQuery()
* con.Close()
* End If
*
*
* End Sub
La partie pour compter le nombre de fois ne m'ai pas utile..
J'ai essayé de reproduire ce code en ASP mais il y a des erreur concernant la fonction mid:
Voici le code en ASP en version simplifié (car la partie pour ajouté les mots dans la base de donnée je l'ai deja créer):
<% 'recuperation des données
google ="http://www.google.fr/search?q=800a0414+erreur+ASP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a" 'Request.ServerVariables("HTTP_REFFERER")
response.write google
If Left(google, 17) = "http://www.google" Then 'si le site de provenance est google
longueur = len(google) 'longueur de la string google afin de mettre une limite a notre for...next
For position = 0 To longueur - 1
testq = mid(google,i)
If testq = "q" Then
For pos2 = position + 2 To longueur - 1 'le + 2 sert à enlever le "=" qui suit le "q"
If mid(google,pos2) = "&" Then '& signifie que les mots clés sont terminés
N= mid(google,pos2) 'remplissage de la variable mot
Exit For
End if
Exit For
Next
End If
Next
End if %>
<BR>
<%
response. write N %>
voici l'erreur :
Erreur d'exécution Microsoft VBScript error '800a0005'
Argument ou appel de procédure incorrect: 'mid'
/localsite/goo.asp, line 13
Si quelqu'un pourrait m'aider ce serait vraiment sympatique.
Merci a l'avance
Actuellement en stage de fin d'année d'etude , je dois developper en ASP et j'éprouve certaines difficultés.
Je m'explique: je souhaite récuperer les mots clefs du site google que les internautes ont tapé pour tomber sur mon site.. J'ai trouvé un code en ASP.net mais il me le faut en ASP et je ne connais pas du tout l'ASP.net
Voici le code en ASP.net:
* 'Déclaration des variables.
* Dim google As String = ""
* Dim mot As String = ""
* google = Request.UrlReferrer.ToString
*
* 'on vérifie que le referrer est bien google
* If Left(google, 17) = "http://www.google" Then
*
* Dim longueur As Integer
* Dim testq As String
* Dim position As Integer = 0
* Dim pos2 As Integer
* longueur = google.Length 'longueur de la string google afin de mettre une limite a notre for...next
* For position = 0 To longueur - 1
* 'on teste que le caractère est bien q. Si c'est le cas, les caractères qui suivent sont les mots clés
* testq = google.Chars(position)
* If testq = "q" Then
* For pos2 = position + 2 To longueur - 1 'le + 2 sert à enlever le "=" qui suit le "q"
* If google.Chars(pos2) <> "&" Then '& signifie que les mots clés sont terminés
* If google.Chars(pos2) = "+" Then 'séparation des mots clés
* motcle(mot) 'on passe à un autre mot, donc on appelle la sub motcle pour stocker mot
* mot = ""
*
* Else
* mot += google.Chars(pos2) 'remplissage de la variable mot
* End If
* Else
* motcle(mot) 'on a rencontré le caractère "&" donc plus de mots clés par la suite
* Exit For
* End If
* Next
* Exit For
* End If
*
* Next
*
* End If
*
* 'sub permettant de stocker les mots clés dans la BD
* Sub motcle(ByVal mot As String)
* Dim test As String 'le test permet de savoir si on a déjà stocké ce mot clé
* Dim con As New SqlConnection
* con.ConnectionString = "whatever"
*
* Dim com As New SqlCommand
* com.Connection = con
*
* com.CommandText = "select * from Mots where Mots ='" & mot & "'"
* Dim dr As SqlDataReader
* con.Open()
* dr = com.ExecuteReader
* While dr.Read
* test = "ok" '"ok" signifie qu'on a déjà stocké ce mot. On incrémente donc le champ NB au lieu d'insérer
* End While
* dr.Close()
* con.Close()
*
* If test = "ok" Then
* 'incrémentation de NB pour savoir combien de fois le mot a été utilisé
* con.ConnectionString = "whatever"
* Dim comU As New SqlCommand
* comU.CommandText = "update Mots set NB = NB + 1 where Mots ='" & mot & "'"
* comU.Connection = con
*
* con.Open()
* comU.ExecuteNonQuery()
* con.Close()
* Else
* 'Si ce mot n'a jamais été utilisé, on l'insère dans la BD et on assigne "1" au champ NB
* con.ConnectionString = "whatever"
* Dim comI As New SqlCommand
* comI.CommandText = "insert into Mots(Mots,NB) VALUES('" & mot & "',1)"
* comI.Connection = con
* con.Open()
* comI.ExecuteNonQuery()
* con.Close()
* End If
*
*
* End Sub
La partie pour compter le nombre de fois ne m'ai pas utile..
J'ai essayé de reproduire ce code en ASP mais il y a des erreur concernant la fonction mid:
Voici le code en ASP en version simplifié (car la partie pour ajouté les mots dans la base de donnée je l'ai deja créer):
<% 'recuperation des données
google ="http://www.google.fr/search?q=800a0414+erreur+ASP&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:fr:official&client=firefox-a" 'Request.ServerVariables("HTTP_REFFERER")
response.write google
If Left(google, 17) = "http://www.google" Then 'si le site de provenance est google
longueur = len(google) 'longueur de la string google afin de mettre une limite a notre for...next
For position = 0 To longueur - 1
testq = mid(google,i)
If testq = "q" Then
For pos2 = position + 2 To longueur - 1 'le + 2 sert à enlever le "=" qui suit le "q"
If mid(google,pos2) = "&" Then '& signifie que les mots clés sont terminés
N= mid(google,pos2) 'remplissage de la variable mot
Exit For
End if
Exit For
Next
End If
Next
End if %>
<BR>
<%
response. write N %>
voici l'erreur :
Erreur d'exécution Microsoft VBScript error '800a0005'
Argument ou appel de procédure incorrect: 'mid'
/localsite/goo.asp, line 13
Si quelqu'un pourrait m'aider ce serait vraiment sympatique.
Merci a l'avance
