Les Snippets

Connexion

Manipuler les paramètres passés dans l'URL

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 31/03/2006 08:44:29 et initié par bultez [Liste]
Date de mise à jour : 31/03/2006 11:48:21
Vue : 15554
Catégorie(s) : Chaîne de caractères, Divers, Web
Langages dispo pour ce code :
- Javascript
- VB6, VBA
- Voir tous les langages pour ce code snippet



Langage : VB6 , VBA
Date ajout : 05/01/2008
Posté par PCPT [Liste]
'   RETOURNE TOUS LES PARAMS  ET VALEURS DANS UN TABLEAU BI-DIMENSIONNEL
Function GetParamsAndValues(ByVal sUrl As String) As String()
'   necessite la fonction  'GetValueParam'
    If LenB(sUrl) Then
'       on cherche le  ?
        Dim iPos As Integer
        iPos = InStr(1, sUrl, "?")
        If iPos Then
'           trouvé, on ne split que les  arguments
            Dim asParam() As String
            asParam = Split("&" Right$(sUrl, Len(sUrl) - iPos), "=")
'           on  nettoie/formate
            Dim As Integer, iCount As Integer
            iCount = 0
            For i = To UBound(asParam)
                iPos = InStrRev(asParam(i), "&")
                If iPos Then
                    asParam(i) = Right$(asParam(i), Len(asParam(i)) - iPos)
                    If Len(asParam(i)) Then iCount = iCount + 1
                Else
                    asParam(i) = vbNullString
                End If
            Next i
'           résultats? on crée  le tableau de retour et enregistre les valeurs
            If iCount Then
                Dim asRes() As String
                ReDim asRes(To iCount - 1,  0 To 1)
                iCount = -1
                For i = To UBound(asParam)
                    If Len(asParam(i)) Then
                        iCount = iCount + 1
                        asRes(iCount, 0) = asParam(i)
                        asRes(iCount, 1) = GetValueParam(sUrl,  asParam(i))
                    End If
                Next i
'               retour / nettoyage
                GetParamsAndValues = asRes
                Erase asRes
                Erase asParam
            End If
        End If
    End If
End Function
'
'   RETOURNE LA VALEUR D'UN PARAM
Function GetValueParam(ByVal sUrl As String, ByVal sParam As String) As String
    GetValueParam = vbNullString
'    validité de la demande
    If (Not Len(sUrl) = 0And (Not Len(sParam) = 0) And (InStr(1, sParam,  "&") = 0And (InStr(1, sParam, "=") = 0Then
'       on cherche le  ?
        Dim iPos As Integer
        iPos = InStr(1, sUrl, "?")
        If iPos Then
'           trouvé, on ne récupère que les arguments et on facile  la recherche
            sUrl = "&" Right$(sUrl, Len(sUrl) - iPos) & "&"
            iPos = InStr(1, sUrl, "&" & sParam & "=")
            If iPos Then
'               trouvé? on retourne de cette position jusqu'au  prochain arg
                iPos = iPos + Len(sParam) + 2
                GetValueParam = Mid$(sUrl, iPos, InStr(iPos + 1,  sUrl, "&") - iPos)
            End If
        End If
    End If
End Function

'
' EXEMPLE  D'UTILISATION
'
Private Sub Form_Load()
    Const URL1 As String "www.test.com/index.php?p1=v1&p2=v2&p3=trois&prm4&cinq=exemple&=quoi&=oui&dernier=enfin"
    Const URL2 As String "http://www.abcdef.com/abc.abc?abc=abcd://abc.abcdef.abc/abc/abc_/xxxx.abc&carte=yyyy"
'   TOUS LES PARAMS / VALEURS DE LA PREMIèRE  URL
    Dim As Integer, RET() As String
    RET = GetParamsAndValues(URL1)
    For i = To UBound(RET)
        Debug.Print "PARAM : '" & RET(i, 0) & "'      VALEUR :  '" & RET(i, 1) & "'"
    Next i
'   PARAMS NOMMéS ('ABC' et  'CARTE') DE LA 2e URL
    Debug.Print GetValueParam(URL2, "abc")
    Debug.Print GetValueParam(URL2, "carte")
End Sub

Remarque :
la première url contient volontairement des paramètres incorrects pour montrer la récupération d'arguments valides

Snippets en rapport avec : Request, Paramètre, Url



Codes sources en rapport avec : Request, Paramètre, Url

{PHP} RACCOURCISSEUR D'URL
Voici une petite source permettant de créer des liens courts à partir de liens complexes. C'est bie...

{Visual Basic, VB6, VB.NET, VB 2005} FAVORIS URL
Appeler vos url favoris depuis la zone de notification. Vous pouvez réactualiser à tout moment grâce...

{Delphi} LIER DEUX TDBGRID
Comme vous le savez, les bases de données envahissent notre quotidien à la fois professionnel et pr...

{PHP} FONCTION GET EN PHP : RECUPERER UNE PAGE SUR UN SITE DISTANT
Fonction get http en php avec curl, récupère une page sur un site distant. Avec gestion des cookies...

{PHP} TÉLÉCHARGER LES VIDEOS DE YOUTUBE AVEC PERMALIEN DEPUIS YOUTUBE
Salut, Suite à la version précèdente, voilà la nouvelle mise à jour importante. Voilà ce que peut ...

{C / C++ / C++.NET} RÉCUPÉRATION DE L'URL COURANTE DANS INTERNET EXPLORER
Bonjour à tous, Ce petit code permet de récupérer l'URL de la page web courante dans Internet Explo...

{} TOUTES URL INTERNET (HTTP,FTP,MAILTO,NEWS)
Validation de toutes les urls internet. - Accepte : http://www.exemple.com | mailto:exemple@exem...

{} INTERNET URL
Validation d'une adresse url Internet qui fonctionne notamment avec la technologie DotNet (.Net) ...

{Javascript / DHTML} SIMULER UN TARGET="_BLANK" VALIDE XHTML STRICT
Cette ligne de code est à insérer à l'intérieur d'une balise d'un lien. Elle permet d'ouvrir le ...

{Visual Basic, VB6, VB.NET, VB 2005} ENCODER UNE URL EN UTF8 DEPUIS WORD
Si on veut créer des URL correctes dans Word, il est nécessaire d'encoder convenablement tout ce qui...