[TOUTES VERSIONS] Passer des paramètres à un script via une requête GET

Voir le sujet précédent Voir le sujet suivant Aller en bas

no_way
avatar
Nouveau membre

Messageno_way

  • 16px
  • 24px
  • Zoom
Bonjour.

Encore une fois il s'agit d'une fonction destinée aux codeurs permettant de récupérer des paramètres via l'URL (requête GET).

Code:
function args_GET(){
    var args=[],i,t_args=document.location.search.trim().substr(1).split("&");
    for(i in t_args){
        var e=t_args[i],arg=decodeURIComponent(e.substr(0,e.indexOf('='))),arg_v=decodeURIComponent(e.substr(e.indexOf('=')+1));
        args[arg]=arg_v;
    }
    return args;
}

Une fois appelée, la fonction retourne un tableau des arguments GET:
Code:
var args=args_GET();

! ATTENTION !
-N'oubliez pas qu'il ne faut jamais passer des informations sensibles par le biais de requêtes GET puisque visibles dans l'URL.
-Les noms et valeurs des arguments doivent passer par encodeURIComponent() si il est nécessaire de passer des caractères réservés, accentués etc.


Enfin un exemple afin de constater l'intérêt, ici générer différents mots de passe:
-mot de passe de 12 caractères, seulement des chiffres et des lettres du standard ASCII:
http://essaix86-64-js.1fr1.net/h11-?taille=12&type=ascii_alphanum
-mot de passe de 16 caractères, symboles chiffres et lettres du standard ASCII:
http://essaix86-64-js.1fr1.net/h11-?taille=16&type=ascii
-mot de passe de 10 caractères, symboles chiffres et lettres du standard UTF8:
http://essaix86-64-js.1fr1.net/h11-?taille=10&type=utf8
Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Hello Arnaud,
merci pour cette astuce, ensuite déjà moi même je ne pige pas grand
chose avec ce genre de script..
Pour Forumactif aurait tu quelque chose que l'on pourrait mettre en place comme mot de passe sur un forum ou autre truc?

Phil.



-Le respect de nos semblables est la règle de notre conduite.-

Fondateur des forums





no_way
avatar
Nouveau membre

Messageno_way

  • 16px
  • 24px
  • Zoom
Salut @Milouze14, c'est possible mais pas aussi sécurisé que le système de permissions, désolé.

Concernant le script il suffit de l'ajouter dans une balise script dans le head d'une page html exemple:
Code:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>tst2</title>
<script type="text/javascript">
    function args_GET(){
        var args=[],i,t_args=document.location.search.trim().substr(1).split("&");
        for(i in t_args){
            var e=t_args[i],arg=decodeURIComponent(e.substr(0,e.indexOf('='))),arg_v=decodeURIComponent(e.substr(e.indexOf('=')+1));
            args[arg]=arg_v;
        }
        return args;
    }
</script>
</head>
<body>
<p id="msg"></p>
<script type="text/javascript">
var args=args_GET(),html="",i;
console.log(args);
for(i in args){
    html+="argument <strong>"+i+"</strong> a pour valeur <strong>"+args[i]+"</strong><br />";
}
document.getElementById("msg").innerHTML=html;
</script>
</body>
</html>
Un exemple vite fait:
ici
Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Hello Arnaud,
ok merci mais je ne comprend pas comment il peut reconnaitre mon pseudo !!!
Peux tu m'expliquer rapidement car je ne veux pas trop entrer dans les détails mon ami clin oeil .

Je viens de faire un copier coller dans une page html et ce dernier ne fonctionne pas :
https://www.milouze14.com/h54-essais-arnaud



-Le respect de nos semblables est la règle de notre conduite.-

Fondateur des forums





no_way
avatar
Nouveau membre

Messageno_way

  • 16px
  • 24px
  • Zoom
Une requête GET c'est l'url suivie d'un ? puis:
argument = valeur
lorsque tu veux passer plusieurs arguments tu les sépares via &

Ta page HTML fonctionne très bien mais comme tu n'as pas mis d'argument ...

https://www.milouze14.com/h54-essais-arnaud?pika=chuu
Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Ah ok merci Arnaud clin oeil



-Le respect de nos semblables est la règle de notre conduite.-

Fondateur des forums





Voir le sujet précédent Voir le sujet suivant Revenir en haut

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum