5/5 (5 avis)
Snippet vu 34 193 fois - Téléchargée 28 fois
'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
18 oct. 2006 à 13:21
9 juin 2006 à 22:31
9 juin 2006 à 22:30
En fait, je crois avoir bien commenté le code. Mais ce n'est pas très compliqué en fait. Le referrer est l'adresse du site où le visiteur a cliqué pour se retrouver sur ton site. Dans le cas de google, si le visiteur a fait une recherche, l'URL contient "r=blablabla" où le blablabla représente les mots clés utilisés pour te trouver.
Ce que je fait c'est simplement de vérifier si le referrer est bien google, si c'est le cas j'extrait les mots qui suivent le "r=" (donc les mots clés).
Ensuite j'appelle la fonction "Motcle" qui sert simplement à ajouter les mots dans une base de données (en prenant soin de vérifier si ces mots existent déjà, et si c'est le cas, j'incrémente le champ NB pour savoir combien de fois chaque mot a été utilisé.)
Jesusonline:
Tu as tout à fait raison, j'y avais juste pas pensé et comme ça fonctionne, je suis trop paresseux pour refaire.
9 juin 2006 à 22:23
Ton script est sans doute bien, mais moi qui suis débutant, je ne sais pas où le placer et comment l'utiliser.
Pourquoi ne pas joindre un 'read me'?
Cela ne coute rien.
Ananasvolant.
8 juin 2006 à 13:58
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.