- '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
'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