Condition (if) + Variable ($g_defaut)
Résolu/Fermé
A voir également:
- Condition (if) + Variable ($g_defaut)
- Excel cellule couleur si condition texte - Guide
- Condition et excel - Guide
- Nbval avec condition ✓ - Forum Excel
- Excel copier une cellule si condition ✓ - Forum Excel
9 réponses
Utilisateur anonyme
11 juin 2011 à 12:34
11 juin 2011 à 12:34
if(preg_match("#fille#ig",$_SERVER['SERVER_NAME'])){ $config['g_defaut'] = "filles"; }elseif(preg_match("#garon#ig",$_SERVER['SERVER_NAME'])){ $config['g_defaut'] = "garcons"; }
Explications :
if(Condition1){Action1}elseif(Condition2){Action2} : Si la 1ère condition est TRUE, on exécute l'action 1; sinon, on teste la condition 2,...
preg_match("#fille#ig",$_SERVER['SERVER_NAME']) : renvoie TRUE s'il a trouvé "fille" dans la chaîne $_SERVER['SERVER_NAME'], FALSE sinon.
C'est ce que tu cherchais ?
Je comprends pas vraiment ton script là...
Où est le comparaison de l'URL ?
Je voudrais que SI le visiteur est sur :
www.filles.com / ce soit : $config['g_defaut'] = "fille";
ou SI le visiteur est sur :
www.garcon.com / ce soit : $config['g_defaut'] = "garcon";
Où est le comparaison de l'URL ?
Je voudrais que SI le visiteur est sur :
www.filles.com / ce soit : $config['g_defaut'] = "fille";
ou SI le visiteur est sur :
www.garcon.com / ce soit : $config['g_defaut'] = "garcon";
Utilisateur anonyme
11 juin 2011 à 12:49
11 juin 2011 à 12:49
Ouai ouai c'est exactement ça ! La comparaison des url est dans la fonction preg_match().
Alors, explications plus détaillées :
if(preg_match("#fille#gi",$_SERVER['SERVER_NAME'])){ /* = SI on trouve le mot fille dans le domaine ($_SERVER['SERVER_NAME'])...*/
$config['g_defaut'] = "fille"; /* = ALORS on définit $config["g_defaut"] comme "fille"*/
}elseif(preg_match("#garcon#gi",$_SERVER['SERVER_NAME'])){ // = SINON, SI on trouve le mot garcon dans le domaine...*/
$config['g_defaut'] = "garcon"; /* = ALORS on définit $config["g_defaut"] comme "garcon"*/
}
Donc pour résumer, on cherche dans l'url le mot fille;
- S'il est trouvé : on définit ta variable
- S'il n'est pas trouvé : on cherche dans l'url le mot garcon;
* S'il est trouvé : on définit la variable
Ca va mieux comme ça ?
Alors, explications plus détaillées :
if(preg_match("#fille#gi",$_SERVER['SERVER_NAME'])){ /* = SI on trouve le mot fille dans le domaine ($_SERVER['SERVER_NAME'])...*/
$config['g_defaut'] = "fille"; /* = ALORS on définit $config["g_defaut"] comme "fille"*/
}elseif(preg_match("#garcon#gi",$_SERVER['SERVER_NAME'])){ // = SINON, SI on trouve le mot garcon dans le domaine...*/
$config['g_defaut'] = "garcon"; /* = ALORS on définit $config["g_defaut"] comme "garcon"*/
}
Donc pour résumer, on cherche dans l'url le mot fille;
- S'il est trouvé : on définit ta variable
- S'il n'est pas trouvé : on cherche dans l'url le mot garcon;
* S'il est trouvé : on définit la variable
Ca va mieux comme ça ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Lorsque je mets :
J'obtiens l'erreur suivante sur ma page :
if(preg_match("#www.fille.com#ig",$_SERVER['SERVER_NAME'])){ $config['g_defaut'] = "fille"; }elseif(preg_match("#www.garcon.com#ig",$_SERVER['SERVER_NAME'])){ $config['g_defaut'] = "garcon"; }
J'obtiens l'erreur suivante sur ma page :
Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in /home/httpd/vhosts/*.com/httpdocs/includes/config.php on line 41 Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in /home/httpd/vhosts/*.com/httpdocs/includes/config.php on line 43
Bilow
Messages postés
1014
Date d'inscription
samedi 21 août 2010
Statut
Membre
Dernière intervention
2 août 2015
117
11 juin 2011 à 13:52
11 juin 2011 à 13:52
Salut,
Je ne connait pas les 'modifiers' dans les expressions régulières, mais tu as mis "www.garcon.com" dans le premier argument de preg_match();
Erreur... Dans le code que rd_9 t'as donné, il a mis "#garcon#ig", et pas "#www.garcon.com#i" ; Laisse le code que l'on te donne.
Il faut aussi savoir : le nom du domaine sera coucou-les-garcons.com ou bien garcon.com ou alors les deux ??
Si c'est l'un OU l'autre alors on peut se passer des regex et comparer simplement, sinon il faudra en effet les utiliser.
Je ne connait pas les 'modifiers' dans les expressions régulières, mais tu as mis "www.garcon.com" dans le premier argument de preg_match();
Erreur... Dans le code que rd_9 t'as donné, il a mis "#garcon#ig", et pas "#www.garcon.com#i" ; Laisse le code que l'on te donne.
Il faut aussi savoir : le nom du domaine sera coucou-les-garcons.com ou bien garcon.com ou alors les deux ??
Si c'est l'un OU l'autre alors on peut se passer des regex et comparer simplement, sinon il faudra en effet les utiliser.
Salut Bilow,
Je n'ai pas modifié le code qui m'a été donné qui est le suivant :
Et qui indique bien "#ig". Par ton messge, je déduis donc qu'il fait mettre "#i".
Le seul et unique nom de domaine serait "garcon.com".
Je n'ai pas modifié le code qui m'a été donné qui est le suivant :
if(preg_match("#fille#ig",$_SERVER['SERVER_NAME'])){ $config['g_defaut'] = "filles"; }elseif(preg_match("#garon#ig",$_SERVER['SERVER_NAME'])){ $config['g_defaut'] = "garcons"; }
Et qui indique bien "#ig". Par ton messge, je déduis donc qu'il fait mettre "#i".
Le seul et unique nom de domaine serait "garcon.com".
Bilow
Messages postés
1014
Date d'inscription
samedi 21 août 2010
Statut
Membre
Dernière intervention
2 août 2015
117
11 juin 2011 à 15:08
11 juin 2011 à 15:08
Salut,
On ne t'a donné que des #filles#, et tu as mis #www.filles.com# ; Enfin c'est pas grave.
$_SERVER['SERVER_NAME'] peut donner deux valeurs différentes pour un même domaine :
- garcon.com
- www.garcon.com
On va donc oublier les Regex, et simplement comparer.
Les Regex, c'est bien, mais il vaut toujours mieux faire plus simple ;-)
On ne t'a donné que des #filles#, et tu as mis #www.filles.com# ; Enfin c'est pas grave.
$_SERVER['SERVER_NAME'] peut donner deux valeurs différentes pour un même domaine :
- garcon.com
- www.garcon.com
On va donc oublier les Regex, et simplement comparer.
// Soit $genre qui vaudra 'fille' ou 'garcon' $nom = $_SERVER['SERVER_NAME']; if($nom == "garcon.com" || $nom == "www.garcon.com"){ $genre = "garcon"; } else if($nom == "filles.com" || $nom == "www.filles.com"){ $genre = "fille"; } else{ // Erreur... $genre = "ERR"; } echo "Le genre est : $genre";
Les Regex, c'est bien, mais il vaut toujours mieux faire plus simple ;-)