Soucis avec regex + preg_match et passage de variables en paramètres
Bonjour à tous,
Voilà j'ai un soucis avec une Regex et un passage de variable par paramètres
En effet je veux pouvoir entrer une URL de ce genre "localhost/back/monfichier.php?activite=X (X étant un entier)" et que en fonction du chiffre rentré ma variable soit associé à une valeur ou une autre...
Dans un autre fichier (header.php) j'ai mon header (qui inclut mon menu), et quand je clique
sur un onglet il me revoie à l'adresse voulue c'est-à-dire : localhost/back/monfichier.php?activite= et pas à localhost/back/monfichier.php?activite= alors que je veux le X après le "="
Je voudrais donc qu'en cliquant et/ou en entrant manuellement l'URL la variable prenne les bonnes valeurs
Mon soucis est que je n'arrive pas à faire ma Regex et je suis pas sûr en plus que ma démarche pour la détection de l'entier dans l'URL soit bonne...
Voici un exemple d'onglet dans mon menu :
Code:
1 2 3 4 5 6 7 8 9 10
| <?php
$X = new X();
$type = $X->setX();
$proprietes = $X->affiche_libelleOnglets($type[0]);
<li <?php if ($thisPage == $type[0])
echo ' class="current_top"'; ?>><a href="monfichier.php?activite=<?php echo $type[2]?>"><span>
<?php echo $proprietes[0] ?> </span></a></li>
?> |
Je vous fournit aussi un morceau de code de ma classe pour que ce soit plus parlant...
<?php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| class X
{
var $ID_X;
var $type_X;
var $type_y;
function setX()
{
$sql = "SELECT ID, type_X AS X,
type_Y AS Y
FROM type_X";
$req = mysql_query($sql);
while($res = mysql_fetch_assoc($req)){
if (preg_match(??, $_SERVER['REQUEST_URI']))
{
$this->ID_X = $res_req['ID'];
$this->type_X = $res_req['X'];
$this->type_Y = $res_req['Y'];
}
else
{
$this->ID_X = 1;
$this->type_X = 'truc';
$this->type_Y = 'bidule';
}
}
return array($this->type_X, $this->type_Y, $this->ID_X);
}
}
?> |
Le code en lui-même est bon, car il fonctionnait avant, mais pour une question d'optimisation d'URL rewriting je dois passer comme décrit plus haut, le problème vient donc du passage par paramètre et de comment construire la regex je pense...
Je suis désolé si c'est un peu confus, n'hésitez pas à me demander des précisions si besoin...
Si vous pouviez m'aider à me sortir de ce mauvais pas.
Merci d'avance