Adresse absolue de la page en cours, avec variables $_get

Contenu du snippet

Bonjour à tous ;)
Ceci est une petite fonction servant à retourner l'adresse absolue de la page en cours avec les variables passé en GET.
Tout est expliqué dans les commentaires du code.

Source / Exemple :


<?php
/*

  • Ceci est un fichier pour tester la fonction PHP adresse_absolue(), cette
  • fonction permet de retourner l'adresse absolue de la page en cours avec les
  • variables passé en $_GET.
  • /
//On test la fonction sans exclure de variables $_GET et en les affichant echo '<h3 style="color:blue">'. adresse_absolue(true, "").'</h3>'; //********************************************************************************* /**
  • Cette fonction permet de retourner l'adresse absolue de la page en cours avec les
  • variables passé en $_GET.
*
  • @param <boolean> $avec_get
  • Ici il faut mettre "true" si vous voules l'adresse absolue avec les variables
  • $_GET, "false" pour obtenir juste l'adresse absolue
*
  • @param <Array> $array_exclure_get
  • Si vous voulez exclure des variables $_GET dans l'adresse absolue renseignez
  • ici un ARRAY avec les clef à exclure, par exemple vous avez la variable
  • $_GET['pseudo'] qui rentre dans votre page mais que vous ne la voulez pas,
  • alors vous ferez comme ceci:
  • --------------------------------------------------
  • $array[0]="pseudo";
  • echo adresse_absolue($array, true);
  • --------------------------------------------------
  • mettre une chaine de caractère vide si vous ne voulez pas interdire de
  • variables GET:
  • --------------------------------------------------
  • echo adresse_absolue("", true);
  • --------------------------------------------------
  • @return <String>
  • chaine de caractères contenant l'adresse absolue de la page en cour.
  • /
function adresse_absolue($avec_get,$array_exclure_get) { //on crées l'adresse absolue sans les variables $_GET $url="http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $i=0;//compteur de boucle //si on veut les variable $_GET if($avec_get) { //on initialise la chaine de carctères qui vas contenir tous les paramètres //passé en GET ex: "pseudo=dariumis&connecte=1". $param=""; //on récupère les clef de l'array $_GET $array_clef_get=array_keys($_GET); //pour chaque valeurs passé en GET foreach ($_GET as $v) { //on initialise un booléen pour voir si vous avez interdit la variable //en cours passé en GET $interdit=false; //on teste si vous avez interdit des variables en cours passé en GET if(is_array($array_exclure_get)) {//si vous en avez interdit //on parcour le tableau d'interdiction foreach ($array_exclure_get as $v2) {//pour chaque variables interdit //on la teste avec la clef de la variable GET en cours if($v2==$array_clef_get[$i]) {//si la variables en cour est interdit //on initialise le booléen d'interdiction a "true" $interdit=true; //on a fini le teste, donc on sort de la boucle break; } } } //on regarde si vous avez interdit la variables passé en GET if(!$interdit) {//si vous ne l'avez pas interdit //on écrit dans $param la clef de la variable GET en cours et sa valeur $param.=$array_clef_get[$i]."=".$v."&"; } //on incremente le compteur avant de passer à la prochaine Variable GET $i++; } //on enlève le dernier "&" des paramètres $param=preg_replace("#&$#", "", $param); if($param!="") {//si il y a des paramètres GET à écrire //alors, on les écrits $url.="?".$param; } } return $url;//on retourne le résultat } ?>

A voir également

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.