JeuWeb - Crée ton jeu par navigateur
Mettre des if pour les données vide ! - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Mettre des if pour les données vide ! (/showthread.php?tid=50)



Mettre des if pour les données vide ! - Pio154 - 15-08-2006

Salut tout le monde, j'ai un petit problème met rien grave !
Je voudrai faire en sorte d'afficher une réponse du forum les donnéez dans un mailto: pour voir sont email si la personne la enregistré !


Citation :En gros si la personne à mis :
Msn : msn@hotmail.fr
Yahoo : truc@yahoo.fr
Et autre truc s'afficheron sur le forum !

Si la personne na rien mis dans ses donnéez sa affiche que Profil vers le lien pour voir son profil ect ..

Je doit procéder avec des if else et elseif met j'ai jamai utilise elseif alors pourrez vous m'éclaircire le chemin Smile


RE: Mettre des if pour les données vide ! - Isenduil - 15-08-2006

Pas certain d'avoir tout suivi mais en gros :


Si le champ remplis par le visiteur est du type : $mail :

Code PHP :
<?php 
// SI il existe un champ mail et qu'il n'est pas vide :
if(isset($mail) AND !empty($mail))
{

// SI le mail est de forme valide :
if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $mail))
{

// Tu affiches ce que tu veux si le mail est rempli et valide



}
else
{
// tu affiches ce que tu veux si la forme du mail n'est pas valide
}
}
else
{
// Tu affiches ce que tu veux si ces champs son vides
}



Voila, c'est de mémoire et sans test, mais je ne vois pas a priori de raisons qu'il y ait le moindre problème. De toute façon, c'est plus pour t'aider dans la logique de raisonnement que pour le code en soi !

Sinon pour les if/ifelse, c'est relativement simple - tu n'en as pas besoin ici si je t'ai bien compris. Un exemple :

SI (IF) la fille est blonde => action
SINON SI (ELSE IF) la fille (toujours la même) est brune => action
SINON SI (ELSE IF) la fille est rousse => action
...
SINON (ELSE = si aucune des conditions précédentes n'est respectée) c'est qu'elle est noire => action

J'espère que l'exemple est suffisament explicite...



RE: Mettre des if pour les données vide ! - naholyr - 15-08-2006

C'est très simple, tu mets un if sans else :roll:

Code PHP :
<?php 
if (@$profil['email']) { // si 'email' est défini et non vide, et non égal à 0
echo lien_email($profil['email']);
}
// sinon rien



RE: Mettre des if pour les données vide ! - Pio154 - 15-08-2006

Oui merci, met se n'ai pas pour l'insersation ou vérification du mail ou autre dans les champs pseudo mail, mot de passe, ect je voudrai faire sa sur le forum pour voir si dans la base de donné il y a quelle que chose !


RE: Mettre des if pour les données vide ! - Isenduil - 15-08-2006

La logique demeure strictement identique !

SI (IF) le champ est rempli
{
SI (IF) [requête Mysql ou autre] le mail est présent dans ta base de données
{
Action désirée
}
}

Cela t'aide ou tu as encore des problèmes ? Si c'est le cas, prends le temps de bien nous expliquer et de développer ton message pour que nous puissions t'aider rapidement.



RE: Mettre des if pour les données vide ! - Pio154 - 15-08-2006

Oki merci, met si l'on veux selectioner plusieur chose, on peux faire $donnees['msn,yahoo,gmail,ect'] ???? dans if ou l'on fait $donnees['msn'] AND $donnes['yahoo'] ??




RE: Mettre des if pour les données vide ! - Isenduil - 15-08-2006

J'ai toujours séparé ! Cela marche peut-être en regroupant, aucune idée...


RE: Mettre des if pour les données vide ! - Pio154 - 15-08-2006

Ses bon ses avec AND :hahahaha:, parcontre j'ai un problème car ses très dur de my retrouvez pour tout ces truc :

Dans ma bdd : msn,yahoo,gmail,jabber,aim,icq.

j'ai fait :
Citation :if ($donneesReponse['msn'] AND $donneesReponse['yahoo'] AND $donneesReponse['gmail'] AND $donneesReponse['jabber'] AND $donneesReponse['aim'] AND $donneesReponse['icq'])
{ echo 'Tout mes truc si il y a tout sa !
} (La je doit mettre tout de suite else ? pour afficher ou je doit mettre elseif pour continuer les autre truc ?



RE: Mettre des if pour les données vide ! - naholyr - 15-08-2006

Je trouve absurde de fonctionner comme ça : c'est tout ou rien. Si ton utilisateur a rempli "msn" et "yahoo" mais pas "gmail", rien ne sera affiché.

Il faut faire une série de if :
Code PHP :
<?php 
$champs
= array('msn', 'yahoo', 'gmail', 'jabber', 'aim', 'icq');
foreach (
$champs as $champ) {
    if ($donneesReponse[$champ]) {
        afficher_champ($champ, $donneesReponse[$champ]); // afficher l'icone de contact pour ce champ
    }
}

// suite du code...

Et enfin, qu'appelles-tu "les autres trucs" ?
J'imagine que ce n'est pas parce qu'il n'a pas rempli le champ "gmail" qu'on va arrêter d'afficher son profil. Donc tu continues simplement, sans else ni elseif, tu continues à la suite...


RE: Mettre des if pour les données vide ! - Isenduil - 15-08-2006

:good: Je viens de comprendre où il voulait en venir ! Merci Naholyr :respect: (m'a fallu du temps sur ce coup là...)