Bonjour,

Je suis nouveau sur le forum, merci de votre accueil :)

Voila j'ai un petit souci que j'arrive pas a résoudre :

j'ai deux condition est si ses deux condition sont bonne alors j'affiche le message .

les données vienne d'un formulaire.

voila mon code :

if ($lieux == 'FRANCE' || $lieux == 'France' || $lieux == 'france')
{
echo $language'FR'];
}
if ($lieux == 'GUADELOUPE' || $lieux == 'Guadeloupe' || $lieux == 'guadeloupe')
{
echo $language'GUAD'];
}
if ($lieux == 'MARTINIQUE' || $lieux == 'Martinique' || $lieux == 'martinique')
{
echo $language'MARTI'];
}
if ($lieux == 'GUYANE' || $lieux == 'Guyane' || $lieux == 'guyane')

{
echo $language'GUYA'];
}

Etc...

Actuellement mon code est simple et fonctionne sur une seul condition,
se que je voudrai faire c'est ajouter une autre condition.

EX:

Si le lieux et ok et que la ville et ok j'affiche mon message .

sinon j'affiche rient .

Mes deux variable sont $ville et $lieu

La variable $ville vient d'une série de sélection dans du formulaire.
La variable $lieux vient d'une saisie de l'utilisateur dans le formulaire c'est pour sa que j'ai fait ($lieux == 'FRANCE' || $lieux == 'France' || $lieux == 'france')

Merci d'avance pour vos réponses.

Cordialement.
Lucien.

7 réponses


Kareylo
Réponse acceptée

C'est assez simple, mais tu as plusieurs façon de le faire. Personnellement, je le ferait comment ça :

<?php
// Listing des différentes villes dans les différents pays
$villeCheck = array(
    'France' => array('Ville1', 'Ville2'),
    'Guadeloupe' => array('Ville1', 'Ville2'),
    'Martinique' => array('Ville1', 'Ville2')
));
//Etc... Peut-être le faire par base de donnée pour éviter ça ?
// On met juste une majuscule dans le nom du Pays et de la Ville pour éviter plusieurs vérifications
$lieux = ucfirst($lieux); $ville = ucfirst($ville);
// in_array() retourne "true" si il y a la "ville" voulue dans le tableau des villes ($villeCheck)
if($lieux == 'France' && in_array($ville, $villeCheck$lieux])){
    echo $language'FR'];
} elseif($lieux == 'Guadeloupe' && in_array($ville, $villeCheck$lieux])) {
    echo $language'GUAD'];
} //Etc...
?>

J'espère que ma réponse t'auras aidée

wilose
Réponse acceptée

Voici un exemple de code en utilisant une fonction:

<?php
/*Reccupérer les donné du formulaire*/
$lieux = 'FRANCE';
$ville = 'Porcaro';
/ ************************************ /
function Lauguage($lieux = false, $ville = false){
    $error = true;
    if ($lieux != false && empty($lieux) && $ville != false && empty($ville)) {
        //Mettre les variables en minuscule
        $lieux = strtolower($lieux);
        $ville = strtolower($ville);
        switch ($lieux) {
            case 'france':
                $data'langue'] = $language'FR'];
                break;
            case 'guadeloupe':
                $data'langue'] = $language'GUAD'];
                break;
            case 'martinique':
                $data'langue'] = $language'MARTI'];
                break;
            case 'guyane':
                $data'langue'] = $language'GUYA'];
                break;
            default:
                $error = false;
                break;
        }
        switch ($ville) {
            case 'porcaro':
                $data'ville'] = $ville'PORC'];
                break;
            case 'renne':
                $data'ville'] = $ville'RENN'];
                break;
            case 'lyon':
                $data'ville'] = $ville'LYON'];
                break;
            default:
                $error = false;
                break;
        }
        if ($error != false) {
            //Si tout va bien
            return 'Langue : '.$data'langue'].'<br /> Ville : '.$data'ville'];
        }else{
            return '';
        }
    }else{
        return '';
    }
}
/*Appeller la fonction*/
echo Lauguage($lieux, $ville);
/ ************************************ /
?>
lucien13013
Auteur
Réponse acceptée

Bonjour,

Merci à Kareylo et Wilose pour vos réponses

Pour le moment je vais choisir la réponse de Kareylo qui et plus facile pour moi à intégré au scripte :)

Pour Wilose je garde ta réponse et je pense que je vais faire ta solution par la suite.

Merci beaucoup à vous deux .

Cordialement.

Lucien.

Kareylo
Réponse acceptée

Content d'avoir pu t'aider !

wilose
Réponse acceptée

Content aussi, et tu peut combiner les deux solus..

lucien13013
Auteur
Réponse acceptée

Re bonjour,

Voila j'ai fait comme Kareylo sa fonctionne super bien

$villeCheck = array(

'France' => array('Marseille', 'Lyon'),
'Guadeloupe' => array('Saint-martin', 'Les abymes', 'Le gosier'),
'Martinique' => array('Fort-de-france', 'Le lamentin'));

$lieux = ucfirst($lieux); $ville = ucfirst($ville);

if ($lieux == '')
{
echo $language'NO'];
}

if($lieux == 'France' && in_array($ville, $villeCheck$lieux]))
{
echo $language'FR'];
}

elseif($lieux == 'Guadeloupe' && in_array($ville, $villeCheck$lieux]))
{
echo $language'GUAD'];
}

elseif($lieux == 'Martinique' && in_array($ville, $villeCheck$lieux]))
{
echo $language'MARTI'];
}

sa remplace mon ancien code :

if ($lieux == '0' || $lieux == '')
{
echo $language'NO'];
}
if ($lieux == 'FRANCE' || $lieux == 'France' || $lieux == 'france')
{
echo $language'FR'];
}
if ($lieux == 'GUADELOUPE' || $lieux == 'Guadeloupe' || $lieux == 'guadeloupe')
{
echo $language'GUAD'];
}
if ($lieux == 'MARTINIQUE' || $lieux == 'Martinique' || $lieux == 'martinique')
{
echo $language'MARTI'];
}
if ($lieux == 'GUYANE' || $lieux == 'Guyane' || $lieux == 'guyane')
{
echo $language'GUYA'];
}
if ($lieux == 'LA REUNION' || $lieux == 'La Reunion' || $lieux == 'la reunion' || $lieux == 'La Réunion' || $lieux == 'La réunion' || $lieux == 'LA RÉUNION' || $lieux == 'LA RÈUNION' || $lieux == 'La Rèunion' || $lieux == 'la rèunion')
{
echo $language 'REUN'];
}

Etc....

Seul petit bémol c'est que quand EX:

Dans la variable $lieux j'ai bien France et la variable $ville il donne ( Saint-martin ) c'est toujours vrais sauf que c'est en Guadeloupe
( Saint-martin )

et pour ma géolocalisation il cherche ( Saint-martin ) en ( France ) se qui est plus vrai.

Sa me donne : http://127.0.0.1/www/geo\_google.php?ville=Saint-martin+97150+France

et se que je tente de faire maintenant et que je trouve pas sur mon livre ou que j'ai pas compris c'est que si Ex:

$lieux == France et que $ville == Saint-martin ( je suis plus en France mais en Guadeloupe ).

( une condition dans une condition )

alors j'affiche :

{
Echo $language'GUAD']
}

se qui me permet dans la géo de récupéré la variable $language'GUAD'] qui est Guadeloupe

Sa me donne : http://127.0.0.1/www/geo\_google.php?ville=Saint-martin+97150+Guadeloupe

se qui est plus claire pour Google Maps

en gros

si $lieux = France et que $ville = Lyon alors { echo $language'FR'}

mai si $lieux = France et que $ville = Fort-de-france { echo $language'MARTI'}

Ex de ma page Pays

<?php

$language = array(

///////////////////////////////////
//Les drapeaux
//////////////////////////////////

//////////////////////////////////
// Pays européen
//////////////////////////////////

'NO' => '<spane title="Pays"> ****</span>',
'FR' => '<img src="images/drapeaux/france.png" alt="France" title="France"><spane title="France"> France</span>',
'GUAD' => '<img src="images/drapeaux/france.png" alt="Guadeloup" title="Guadeloup"><spane title="Guadeloup"> Guadeloup</span>',
'MARTI' => '<img src="images/drapeaux/france.png" alt="Martinique" title="Martinique"><spane title="Martinique">
Martinique</span>',
'GUYA' => '<img src="images/drapeaux/france.png" alt="Guyane" title="Guyane"><spane title="Guyane"> Guyane</span>',
'REUN' => '<img src="images/drapeaux/france.png" alt="Réunion" title="Réunion"><spane title="Réunion"> La Réunion</span>',
'REUN' => '<img src="images/drapeaux/france.png" alt="Réunion" title="Réunion"><spane title="Réunion"> La Réunion</span>',
'REUNI' => '<img src="images/drapeaux/france.png" alt="Réunion" title="Réunion"><spane title="Réunion"> La Réunion</span>',
'MAY' => '<img src="images/drapeaux/france.png" alt="Mayotte" title="Mayotte"><spane title="Mayotte"> Mayotte</span>',
'CORSE' => '<img src="images/drapeaux/france.png" alt="Corse" title="Corse"><spane title="Corse"> Corse</span>',
'ALB' => '<img src="images/drapeaux/albanie.png" alt="Albanie" title="Albanie"><spane title="Albanie"> Albanie</span>',
'ALLE' => '<img src="images/drapeaux/allemagne.png" alt="Allemagne" title="Allemagne"><spane title="Allemagne"> Allemagne</span>',
'ANDOR' => '<img src="images/drapeaux/andorre.png" alt="Andorre" title="Andorre"><spane title="Andorre"> Andorre</span>',
'ARME' => '<img src="images/drapeaux/armenie.png" alt="Armenie" title="Armenie"><spane title="Armenie"> Armenie</span>',

etc...

Merci par avance :)

Cordialement,

Lucien.

lucien13013
Auteur
Réponse acceptée

Bonsoir,

J'ai trouvé,

Merci à tous :)

Voila se que j'ai fait:

$villeCheck = array(

'France' => array('Marseille', 'Lyon'),
'Guadeloupe' => array('Saint-martin', 'Les abymes', 'Le gosier'),
'Martinique' => array('Fort-de-france', 'Le lamentin'));

$lieux = ucfirst($lieux); $ville = ucfirst($ville);

if ($lieux == '')
{
echo $language'NO'];
}

if($lieux == 'France' && in_array($ville, $villeCheck$lieux]))
{
echo $language'FR'];
}

elseif($lieux == 'Guadeloupe' && in_array($ville, $villeCheck$lieux]))
{
echo $language'GUAD'];
}

elseif($lieux == 'Martinique' && in_array($ville, $villeCheck$lieux]))
{
echo $language'MARTI'];
}

elseif($lieux == 'France' && in_array($ville == 'Le lamentin', $villeCheck$lieux]))
{
echo $language'MARTI'];
}

elseif($lieux == 'France' && in_array($ville == 'Saint-martin', $villeCheck$lieux]))
{
echo $language'GUAD'];
}

La c'est des tests qui fonctionne je vais bien le faire maintenant que j'ai compris :)

Merci !!

Bonne soirée à tous !!

Lucien.