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 :

Afficher ma session


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 67
    Points : 23
    Points
    23
    Par défaut Afficher ma session
    Bonjour, je souhaiterai afficher ce qu'il y à dans ma session mais je n'y parviens pas; Il m'affiche Array ... ca m'avance ... Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $sql = "select * from langue";
    	$req = mysql_query($sql);
     
    	echo "<div class='ligne'>";
    	while($langue=mysql_fetch_array($req)){
    	    if($_SESSION["donnee"]!= null && in_array($langue['NOM'],$_SESSION["donnee"]))
    	        $chk = "checked='checked' ";
    	    else 
    	        $chk = "";
    	    echo "<label for='".$langue['NOM']."'>".$langue['NOM']."</label>";
    	    echo "<input type=\"checkbox\" id= '".$langue['NOM']."' value= '".$langue['NOM']."' name='langParlee[]' ".$chk."/>";
    	}
    	echo "</div>";
    En gros ce code représente un menu rempli de checkbox. Je voudrais connaitre la methode, voir le code afin qu 'il me dise :
    Voici les langues : langue 1 langue 2 ... parlées .
    Les langues parlées seraient bein evidemment les langues cochées
    Merci d'avance

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Une petite fonction debug qui affiche le contenu de n'importe quoi
    syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug::show('un message', $misc);
    cette chose prend en compte une constante DAPCFG_DEBUG_SHOW et n'affiche les debug que lorsque la constante est à true.

    cela permet de mettre des traces dans son code et de les enlever d'un coup partout.

    elle fait partie de mon framework mais peut être utilisé n'importe ou

    fichier : Debug.class.php
    Code : 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
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    <?php
    /*
    
                ----------------------------------------------
                |   CE FICHIER EST LIVRE PAR LE FRAMEWORK.   |
                |        IL NE DOIT PAS ETRE MODIFIE         |
                |     POUR LES BESOINS DE L'APPLICATION.     |
                ----------------------------------------------
                
    */
     
    /*
       $Id: Debug.class.php,v 1.3 2007/01/30 14:27:34 sekaijin Exp $ 
    */
     
    /** 
       @package debug
       @class Debug
       @brief Affichage formatté de n'importe quel objet ou variable.
    	
    	L'appel de la méthode Debug::show() provoque un affichage. Etant donné
    	qu'après tout affichage il n'est plus possible d'envoyer des entêtes 
    	Http et que cela est fortement préjudiciable au fonctionnement général 
    	du framework (largement basé sur les sessions), show offre au besoin
    	un lien pour poursuivre l'action ainsi interrompue.
       
       @section usage Mise en oeuvre par l'exemple
    	<code>Debug::show("Nom de l'objet : ", $obj);</code>
    	Affichage de la variable $obj précédé d'un laïus explicatif plus 
    	ou moins verbeux à votre sauce. Il est possible d'utiliser le paramètre
    	de commentaire pour afficher la valeur d'une autre variable de type 
    	simple (int, string).
    	
    	La constante DAPCFG_DEBUG_SHOW, si elle est définie dans le fichier 
    	de config et positionnée à false, permet de bloquer ces affichages 
    	(souhaitable en production). L'affichage est donc activé par défaut.
    	
    	@remark Les méthodes obsolètes ont été retirées depuis la version 1.2.1.
    			
       @author Jean Yves Terrien
       @author Patrick Dubois
    
    */
    class Debug {
     
       /**
       Fournit la version de cette classe.
       */
       function getVersion() {
          return "1.4";
       }
     
       /**
          Affichage structuré d'une variable, quel que soit son type.
          Cet affichage embarque sa propre feuille de style mais qu'une seule
          fois pour l'ensemble des appels successifs à cette méthode. 
          Tous les styles sont gérés dans un DIV.Debug, aussi assurez-vous de 
          ne pas utiliser une classe de style nommée '.Debug' sur un 'DIV' de
          vos propres affichages.
          
          Notification de l'affichage au reste de l'application par une
          constante DEBUG_STARTED valorisée à true, car cet affichage va 
          bloquer les envois de header et donc le mécanisme de session. 
          Les méthodes qui gèrent ces mécanismes pourront en tenir compte.
          
          @param message (string) message à afficher avant la valeur
          @param value (any) variable (ou expression) à évaluer
       */
       function show($message, $value=NULL) {
          static $_styled = false;
     
          if (defined("DAPCFG_DEBUG_SHOW") and !DAPCFG_DEBUG_SHOW) return false;
          if (!defined('DEBUG_HTML')) define('DEBUG_HTML',true); //affiche pas les débug HML (false en commentaire)
     
          @define('DEBUG_STARTED', true);
     
          $trace = debug_backtrace();
          $fichier = basename($trace[0]["file"]);
          $ligne = $trace[0]["line"];
          $txt =  '<div class="file">Dans ' . $fichier . ":" . $ligne . "</div>";
          $print_trace = create_function('$trace', 
             'unset($trace[0]); //concerne myErrorHandler sans importance
             if (count($trace) > 0) {
                if (!DEBUG_HTML) echo "\n";
                echo "<ul class=\"caller\">";
                foreach ($trace as $entry) {
                   if (!DEBUG_HTML) echo "\n";
                   echo "<li class=\"caller\">Appel de : <b>";
                   if (isset($entry["class"])) {
                      echo $entry["class"] . "::" . $entry["function"];
                   } else {
                      echo $entry["function"];
                   }
                   echo "()</b>";
                   if (isset($entry["file"])) {
                      echo "<br>dans <i>";
                      echo $entry["file"];
                      echo ":" . $entry["line"];
                      echo "</i>";
                   }
                   echo "</li>";
                }
                if (!DEBUG_HTML) echo "\n";
                echo "</ul>";
                if (!DEBUG_HTML) echo "\n";
             }');
          if (!$_styled&&DEBUG_HTML) {
             // on n'écrit une section style qu'une seule fois sur le flux courant
             // quel que soit le nombre d'appels à cette méthode.
             echo "\n<!-- STYLES pour DEBUG -->\n";
             echo "<style>\n";
             echo "   div.Debug {text-align:left; }\n";
             echo "   div.Debug pre {padding:3px; color:#333333; background-color:#DDDDDD; font-family: mono; font-size: 9pt; line-height:10pt;}\n";
             echo "   div.Debug .file {color:#666666; font-style:italic; padding-bottom:5px;}\n";
             echo "   div.Debug .message {color:#006600;}\n";
             echo "   div.Debug .stabilo {background-color:yellow; padding-left:3px; padding-right:3px;}\n";
             echo "   div.Debug .caller {color:#003399; list-style:square; margin:8px; line-height:9pt;}\n";
             echo "</style>\n";
             echo "<!-- fin STYLES pour DEBUG -->\n";
             $_styled = true;
          }
          echo "\n\n<!-- DEBUG";
          if (DEBUG_HTML) echo " -->";
          echo "\n";
          echo '<div class="Debug"><pre>';
          if (is_array($value) || is_object($value)) {
             echo $txt . '<span class="message">' . $message . '</span>' . " => ";
             print_r($value);
             $print_trace($trace);
          } elseif (@is_bool($value)){
             echo $txt . '<span class="message">' . $message . '</span>' . " => " . ucfirst(gettype($value)) . "\n";
             if ($value) {
                $value = "True";
             } else{
                $value = "False";
             }
             echo "{\n    [] => " . $value . "\n}";
             $print_trace($trace);
          } elseif (@is_null($value)){
             echo $txt . '<span class="stabilo">' . $message . '</span>';
             $print_trace($trace);
          } elseif (@is_string($value) && @is_file($value)) {
             echo $txt . '<span class="message">' . $message . '</span>' . " => File\n";
             echo "{\n    [] => " . $value . "\n}";
          } else {
             echo $txt . '<span class="message">' . $message . '</span>' . " => " . ucfirst(gettype($value)) . "\n";
             echo "{\n    [] => " . $value . "\n}";
             $print_trace($trace);
          }
          global $DAP;
          if (defined('DAPCFG_PERFORMANCE_SHOW') && DAPCFG_PERFORMANCE_SHOW) {
            print '<p style="color:#333333; font-family:monospace; font-size:8pt;"';
            print ' title="Pour supprimer cet affichage de performance, passez la clé de configuration DAPCFG_PERFORMANCE_SHOW à false.">';
            print 'Traitement:' . sprintf("%0.3f", @$DAP->chrono->read()) . 's';
            print '</p>';
          }
          echo "</pre>\n</div>\n";
          if (DEBUG_HTML) echo "<!-- ";
          echo "fin DEBUG -->\n";
          echo "\n";
       } // fin function show
     
    } // fin class Debug
    voilà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    require_once 'Debug.class.php';
    define('DAPCFG_DEBUG_SHOW', true);
    Debug::show('Ma session', $_SESSION);
    cet appel va afficher quelque chose comme
    Code : 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
    Dans RendezVousAction.class.php:319
    Ma session => Array
    (
        [messenger] => messenger Object
            (
                [messages] => Array
                    (
                    )
     
                [autoFormat] => 1
            )
     
        [forward] => forward Object
            (
                [subject] => RendezVousAction
                [action] => showForm
                [type] => Action
                [anchor] => 
            )
    )
    Appel de : rendezvousaction::showform()dans C:\Local\Htdocs\rdvboutique2\dap\controller\DapAction.class.php:116
    Appel de : rendezvousaction::invoke()dans C:\Local\Htdocs\rdvboutique2\dap\controller\DapController.class.php:132
    Appel de : dapcontroller::run()dans C:\Local\Htdocs\rdvboutique2\dap\controller\DapActionController.class.php:157
    Appel de : dapactioncontroller::run()dans C:\Local\Htdocs\rdvboutique2\dap\controller\index.php:72
    Traitement:0.324s
    qui te dit que ton débug à été fait dans le fichier : RendezVousAction.class.php à la ligne 319
    puis t'affiche le contenu et le type de ta varriable
    et enfin d'affiche la pile d'exécution de tes fonctions avec le nom et la ligne des fichier de ses appels.
    et enfin te donne le temps de traitement.
    le tout avec une mise en forme basique lisible

  3. #3
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    oui ... enfin, c'est bien beau de faire ça en POO, mais avec un petit
    ça va quand même plus vite, non ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 67
    Points : 23
    Points
    23
    Par défaut
    Surtout que je n'ai pas encore commencé la POO, j'avoue que le premier message m'a un peu chamboulé .
    je viens d'essayer ceci mais sans résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tab = array ($_SESSION['donnee1']);
    	foreach ($tab as $val)
    	{
    	print "$val<br/>";
    	}

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 67
    Points : 23
    Points
    23
    Par défaut
    Hervé Saladin, ta fonction fonctionne mais je souhaiterais l'afficher selon ma boucle. Lorsque je mets mon code, il ne m'affche que " array", comment résoudre cela?

  6. #6
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    foreach($_SESSION as $element)
         print($element.'<br/>');
    c'est bien ça que tu veux ?

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2007
    Messages : 67
    Points : 23
    Points
    23
    Par défaut
    Un grand merci Hervé Saladin, ca fonctionne

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

Discussions similaires

  1. afficher les sessions connectées
    Par gastoncs dans le forum Langage
    Réponses: 9
    Dernier message: 14/10/2009, 13h58
  2. Afficher les sessions ouvertes
    Par Mvu dans le forum ASP
    Réponses: 1
    Dernier message: 14/09/2006, 17h01
  3. [Tomcat] afficher la liste des attributs en session
    Par michaelbob dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 11/04/2006, 01h07
  4. Script pour afficher la popup "Fermeture de session Win
    Par Childerik dans le forum VBScript
    Réponses: 1
    Dernier message: 28/12/2005, 20h11
  5. [JSP][TOMCAT] Afficher le nombre de sessions en cours
    Par kitov dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 24/05/2004, 13h48

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