IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction selon level et sexe des membres


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    chomeur
    Inscrit en
    Juillet 2014
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Juillet 2014
    Messages : 128
    Points : 0
    Points
    0
    Par défaut Fonction selon level et sexe des membres
    Bonjours, je viens vers vous pour une fonction simple mais je n'arrives pas a le faire fonctionner

    je souhaites mettre un cadre dans la page profil et en fonction homme, femme modo admin la couleur de fond change

    j'ai fait cette fonction :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     function GetCadreSelonSexeColorById($membreId,$alignCenter=true,$class='avatar_membre')
     
    {
        if(ctype_digit($membreId)||is_int($membreId))
        {
     
        $rang = GetValueFromQuery("SELECT membre_rang as value FROM forum_membres WHERE membre_id=".$membreId);
        $value = GetValueFromQuery("SELECT membre_avatar as value FROM forum_membres WHERE membre_id=".$membreId);
        $sex = GetValueFromQuery("SELECT membre_sexe as value FROM forum_membres WHERE membre_id=".$membreId);
        $level = intval($rang);
        $str = ($alignCenter) ? '' : '';
     
    		$avatarHighLevel = function($level) use($class){
    			$str = "";
    				if($level == ADMIN)	$str .=  '<div class="page_admi"></div>';
     
    			else if($level == MODO) $str .=  '<div class="page_modo"></div>';
     
    			return $str;
    		};
     
        if(!empty($value))
     
        { 
    		if(file_exists(DIR_AVATAR."/avatar_membres/".$value))
            	$str .= '<div class="page_question"></div>';
    		else{
    			$a = $avatarHighLevel($level);
    				if($a!="")
    					$str .= $a;
    				else
    					$str .= '<div class="page_question"></div>';
    		}
        }else {
     
            if($level == ADMIN || $level == MODO || $level == NEWSER || $level == HOMME || $level == FEMME)
     
                $str .= '<a class="separator" title=""></a>';
     
     
     
            $a = $avatarHighLevel($level);
    	  if($a!="")
    			$str .= $a;
          else if($level == NEWSER)
     
                $str .=  '<div class="page_newswer"></div>';
     
            else if($sex===HOMME && $value=="")
     
                $str .=  '<div class="page_homme"></div>';
     
            else if($sex===FEMME && $value=="")
     
                $str .=  '<div class="page_femme"></div>'; 
     
            else
     
            {
     
                $str .= '<div class="page_question"></div>';
     
            }
     
        }
     
        $str .= ($alignCenter) ? "" : '';
     
     
     
        return $str;
        }else{
    		return '<div class="page_question"></div>';
    	}
    }

    et sur ma page pour afficher le cadre

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class='content'><?php '' . GetCadreSelonSexeColorById($data1['membre_id']) . '';?></div>

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Il te manque l'appel à echo pour effectuer l'affichage du résultat de la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class='content'><?php  echo GetCadreSelonSexeColorById($data1['membre_id']);?></div>
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    chomeur
    Inscrit en
    Juillet 2014
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Juillet 2014
    Messages : 128
    Points : 0
    Points
    0
    Par défaut
    merci, mais je ne penses pas que c'est la réponse

    là j'ai enlever ma fonction a ma page mai il me dit cette erreur

    Fatal error : Uncaught exception 'LogicException' avec le message «Fonction» CadreSelonSexeColor 'est introuvable (fonction' CadreSelonSexeColor 'est introuvable ou non valide nom de la fonction)' in / var / www / legtux.org / users / mon site / function.inc.php: 85
    Stack trace:
    # 0 / var / www / legtux.org / users / mon site / function.inc.php (85): spl_autoload_register ('CadreSelonSexeC ...')
    # 1 / var / www / legtux.org / users / mon site / modules / activites / module.config.php (6): include_once ('/ var / www / legtux ...')
    # 2 [fonction interne]: {} de fermeture ('/ var / www / legtux ... ')
    # 3 / var / www / legtux.org / users / mon site / includes / classes / Hook.abstract.class.php (72): call_user_func_array (Object (Clôture), Array)
    # 4 / var / www / legtux. org / utilisateurs / mon site / includes / Hook.inc.php (13): Crochet :: garde («KERNEL.MODULE.F ... ',' / var / www / legtux ... ')
    # 5 / var / www / legtux.org / users / mon site / includes / Hook.config.php (19): require_once ('/ var / www / legtux ...')
    # 6 / var / www / legtux.org / users / mon site / index.php (42): require_once ('/ var / www / legtux ...') # 7 {main} jeté dans / var / www / legtux.org / users / mon site / function.inc.php sur la ligne 85
    c'est bizarre car il dit ne trouve plus la fonction c'est normal car je les supprimer afin de recommencer a zéro pour voir ou est l'erreur

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Si tu as supprimé la fonction, c'est plutôt normal qu'il ne l'a trouve pas

    A part ça, j'ai pas compris où était ton problème.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    chomeur
    Inscrit en
    Juillet 2014
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Juillet 2014
    Messages : 128
    Points : 0
    Points
    0
    Par défaut
    j'aimerais que mon cadre se met automatiquement a ces couleurs

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
          .page_admi
    	  {
    	  background-color:#FF0000;
    	  }
          .page_modo
    	  {
    	  background-color:#00FF00;
    	  }
     
          .page_homme
    	  {
    	  background-color:#0000FF;
    	  }
          .page_femme
    	  {
    	  background-color:#FF00FF;
    	  }
     
          .page_question
    	  {
    	  background-color:#666666;
    	  }

    donc si je visite un homme je verais la couleur bleu si c un modo le cadre sera en vert etc....

    donc ma fonction

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <?php echo ''. GetCadreSelonSexeColorById($data1['membre_sexe'],$data1['membre_id']) . '';?>

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
     
    function GetCadreSelonSexeColorById($membreId,$alignCenter=true,$class='avatar_membre')
     
    {
        if(ctype_digit($membreId)||is_int($membreId))
        {
     
        $rang = GetValueFromQuery("SELECT membre_rang as value FROM forum_membres WHERE membre_id=".$membreId);
        $value = GetValueFromQuery("SELECT membre_avatar as value FROM forum_membres WHERE membre_id=".$membreId);
        $sex = GetValueFromQuery("SELECT membre_sexe as value FROM forum_membres WHERE membre_id=".$membreId);
        $str = ($alignCenter) ? '' : '';
     
    		$avatarHighLevel = function($level) use($class){
    			$str = "";
    				if($level == "ADMIN")	$str .=  '<div class="page_admi"></div>';
     
    			else if($level == MODO) $str .=  '<div class="page_modo"></div>';
     
    			return $str;
    		};
     
        if(!empty($value))
     
        { 
    		if(file_exists(DIR_AVATAR."/avatar_membres/".$value))
            	$str .= '<div class="page_question"></div>';
    		else{
    			$a = $avatarHighLevel($level);
    				if($a!="")
    					$str .= $a;
    				else
    					$str .= '<div class="page_question"></div>';
    		}
        }else {
     
            if($level == ADMIN || $level == MODO || $level == NEWSER || $level == HOMME || $level == FEMME)
     
                $str .= '<a class="separator" title=""></a>';
     
     
     
            $a = $avatarHighLevel($level);
    	  if($a!="")
    			$str .= $a;
          else if($level == NEWSER)
     
                $str .=  '<div class="page_newswer"></div>';
     
            else if($sex===HOMME && $value=="")
     
                $str .=  '<div class="page_homme"></div>';
     
            else if($sex===FEMME && $value=="")
     
                $str .=  '<div class="page_femme"></div>'; 
     
            else
     
            {
     
                $str .= '<div class="page_question"></div>';
     
            }
     
        }
     
        $str .= ($alignCenter) ? "" : '';
     
     
     
        return $str;
        }else{
    		return '<div class="page_question"></div>';
    	}
    }

    donc j'ai mis juste la class admin qui sera en rouge mais là je ne vois pas le cadre rouge

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Si tu regardes la source de la page HTML générée dans ton navigateur, est-ce qu'il y a bien la bonne classe sur ton cadre ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction MDX : comment trier des membres d'un axe
    Par mederik dans le forum Cognos
    Réponses: 0
    Dernier message: 02/05/2012, 14h36
  2. Réponses: 1
    Dernier message: 15/07/2008, 13h27
  3. Privilèges des "Membres du club" : signature, pièces jointes illimitées, etc.
    Par Anomaly dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 0
    Dernier message: 28/07/2004, 11h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo