Initiale affichée à la place du mot
                    
        
     
             
                    CuivreS
    
        
    
                    Messages postés
            
                
     
             
            11
        
            
                                    Statut
            Membre
                    
                -
                                     
jordane45 Messages postés 40050 Statut Modérateur -
        jordane45 Messages postés 40050 Statut Modérateur -
        Bonjour, 
sur la conception de mon site, je créé un tableau qui se complète avec les données des utilisateurs.
Ca fonctionne. Le problème est que aléatoirement, sans que je change le code source, les identifiants sont abrégés. Ici, j'ai "moi" et "oim" comme id et mot de passe, et mon tableau affiche "m" et "o".
Il y a sûrement un moyen pour éviter ce genre d'incident...Comme une formule à ajouter.
Merci pour le coup de plus.
EDIT : correction des balises de code.
Explication ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
                
            
                
    
    
    
        sur la conception de mon site, je créé un tableau qui se complète avec les données des utilisateurs.
Ca fonctionne. Le problème est que aléatoirement, sans que je change le code source, les identifiants sont abrégés. Ici, j'ai "moi" et "oim" comme id et mot de passe, et mon tableau affiche "m" et "o".
Il y a sûrement un moyen pour éviter ce genre d'incident...Comme une formule à ajouter.
Merci pour le coup de plus.
<?php
                $logNom = array ("Boutelier", "Rousse");
                $logPrenom = array ("Laurie", "Thierry");
                $logVille = array ('Toulouse', 'Mont');
                $logMail = array ('laubou@icloud.com', 'thierousse@hotmail.com');
                $logTel = array ("0254456336", "0236698774");
                $log = array ("oim", "trousse");
                $logmdp = array ("moi", "thr");
                for($i = 0; $i<2; $i++){
                    
                    $_SESSION['nom'][$i] = $logNom[$i];
                    $_SESSION['prenom'][$i] = $logPrenom[$i];
                    $_SESSION['ville'][$i] = $logVille[$i];
                    $_SESSION['email'][$i] = $logMail[$i];
                    $_SESSION['tel'][$i] = $logTel[$i];
                    $_SESSION['log'][$i] = $log[$i];
                    $_SESSION['mdp'][$i] = $logmdp[$i];
                }
                
                echo 'Nombre d\'inscrits: ' . count($_SESSION['nom']);
                echo '<br><br><br><br>';
                echo 'Affichage des inscrits: ';
                echo '<br><br>';
                ?>
            </div>
            <div id = "tableau">
            <table>
                <caption>Liste</caption>
                <tr>
                    <th>Nom</th>
                    <th>Prenom</th>
                    <th>Ville</th>
                    <th>Mail</th>
                    <th>Télephone</th>
                    <th>Identifiant</th>
                    <th>Mot de passe</th>
                </tr>
                <?php
                for($i = 0; $i < count($_SESSION['nom']); $i++){
                echo '<tr>';
                    echo '<td>' . $_SESSION['nom'][$i] . '</td>';
                    echo '<td>' . $_SESSION['prenom'][$i]. '</td>';
                    echo '<td>' . $_SESSION['ville'][$i]. '</td>';
                    echo '<td>' . $_SESSION['email'][$i]. '</td>';
                    echo '<td>' . $_SESSION['tel'][$i]. '</td>';
                    echo '<td>' . $_SESSION['log'][$i]. '</td>';
                    echo '<td>' . $_SESSION['mdp'][$i]. '</td>';
                echo '</tr>';
                }
                ?>
            </table>
EDIT : correction des balises de code.
Explication ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
        A voir également:         
- Initiale affichée à la place du mot
 - Trousseau mot de passe iphone - Guide
 - Mot de passe - Guide
 - Mot de passe administrateur freebox ✓ - Forum Freebox
 - Dans le texte à télécharger, quel est le mot placé juste après le mot semperium ? - Forum Bureautique
 - Le fichier à télécharger contient un mot caché. quel est le format du fichier ? quel est le mot caché ? - Forum Téléchargement
 
3 réponses
                        
                    Bonjour,
Je pense que ton code écrit de la sorte te posera moins de soucis
Au passage, je t'invite à lire (et à appliquer) ce qui est indiqué ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et pour finir, lorsque tu postes ton code sur le forum, merci d'utiliser les balises de code
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
 
                
                
    
                Je pense que ton code écrit de la sorte te posera moins de soucis
<?php
//demarrage des sessions
session_start();
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
//création des users
$users=array();
$users[] = array("nom"=>"Boutelier" , "prenom"=>"Laurie", "ville"=>"Toulouse", "mail"=>"laubou@icloud.com","tel"=>"0254456336","log"=>"oim","mdp"=>"moi");
$users[] = array("nom"=>"Rousse" , "prenom"=>"Thierry", "ville"=>"Mont", "mail"=>"thierousse@hotmail.com","tel"=>"0236698774","log"=>"trousse","mdp"=>"thr");
//on stocke les users en session
$_SESSION['users'] = $users;
//récupération propre des variables AVANT de les utiliser
$utilisateurs = !empty($_SESSION['users']) ? $_SESSION['users'] : NULL;
echo 'Nombre d\'inscrits: ' . count($utilisateurs);
echo '<br><br><br><br>';
echo 'Affichage des inscrits: ';
echo '<br><br>';
?>
</div>
<div id = "tableau">
<table>
  <caption>Liste</caption>
  <thead>
    <tr>
      <th>Nom</th>
      <th>Prenom</th>
      <th>Ville</th>
      <th>Mail</th>
      <th>Télephone</th>
      <th>Identifiant</th>
      <th>Mot de passe</th>
    </tr>
  </thead>
  <tbody>
    <?php
    if(!empty($utilisateurs)){
      foreach($utilisateurs as $U){
        echo '<tr>';
          echo '<td>' . $U['nom'] . '</td>';
          echo '<td>' . $U['prenom']. '</td>';
          echo '<td>' . $U['ville']. '</td>';
          echo '<td>' . $U['email']. '</td>';
          echo '<td>' . $U['tel']. '</td>';
          echo '<td>' . $U['log']. '</td>';
          echo '<td>' . $U['mdp']. '</td>';
        echo '</tr>';
      }
    }
   ?>
  <tbody>
</table>
Au passage, je t'invite à lire (et à appliquer) ce qui est indiqué ici :
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Et pour finir, lorsque tu postes ton code sur le forum, merci d'utiliser les balises de code
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
                        
                    Le code passe très bien, ça signifierait que les tableaux associatifs sont plus fiables que les tableaux classiques.
Merci encore
    
                Merci encore
    ça t'évite surtout de faire des erreurs...
je pense que lorsque tu as rencontré tes soucis... tu n'avais pas d'array au niveau de ton user
En gros tu devais avoir
de ce fait.. ta boucle
retournait lettre par lettre .. donc m puis o
le code que je t'ai donné est plus propre et limite le nombre de boucles.
    je pense que lorsque tu as rencontré tes soucis... tu n'avais pas d'array au niveau de ton user
En gros tu devais avoir
$logmdp = "moi";
de ce fait.. ta boucle
for($i = 0; $i<2; $i++){
  //...
   $_SESSION['log'][$i] = $log[$i];
retournait lettre par lettre .. donc m puis o
le code que je t'ai donné est plus propre et limite le nombre de boucles.
    Je reviens à mon code, parce que celui que tu as proposé n'est pas adapté pour les autres fichiers,  
il remet les initiales des identifiants et mots de passe. Pourtant j'ai bien un array pour log et logmdp.
Je met mon tableau:
    il remet les initiales des identifiants et mots de passe. Pourtant j'ai bien un array pour log et logmdp.
Je met mon tableau:
                $logNom = array ("Boutelier", "Rousse");
                $logPrenom = array ("Laurie", "Thierry");
                $logVille = array ('Toulouse', 'Mont');
                $logMail = array ('laubou@icloud.com', 'thierousse@hotmail.com');
                $logTel = array ("0254456336", "0236698774");
                $log = array ("oim", "trousse");
                $logmdp = array ("moi", "thr");
    
n'est pas adapté pour les autres fichiers,
Quels autres fichiers ?
Pourquoi revenir à ton code ... alors qu'il est préférable d'utiliser celui que je t'ai proposé ?
Le mieux est d"adapter tes autres fichiers justement......
Après, si tu tiens absolument à garder ce code comme ça... et bien.. pour comprendre d'où vient le souci.. il faut commencer par afficher le contenu des variables via des print_r ( comme indiqué dans le lien que je t'ai donné pour débuguer ton code ).
Donc.. vu que ton souci se situe au niveau de l'affichage.. cela semble indiquer que le problème proviendrait de ta variable de session.
Fais un print de ta variable de session au début de ton code
echo "<pre>"; print_r($_SESSION); echo "</pre>";
et affiche nous sur le forum ce que ça te donne.
    Génère? c'est-à-dire comment les variables sont créées? J'ai un autre fichier ou une personne créé son identifiant avec ses données personnelles. Après tous les renseignements arrivent dans ce tableau.
Le but est que la personne une fois inscrite puisse se reconnecter avec ses identifiants.
Il y a le formulaire puis le code de recherche que je te met
    Le but est que la personne une fois inscrite puisse se reconnecter avec ses identifiants.
Il y a le formulaire puis le code de recherche que je te met
<?php
                 if(!empty($_GET['id'])){
                    if($_GET['mdp'] != $_GET['MDP']){
                    ?>
                    <script language = "javascript">
                        erreur();
                    </script>
                <?php
                    }else 
                       
                        if(!empty($_GET['nom']) AND !empty($_GET['prenom']) AND !empty($_GET['ville']) AND !empty($_GET['email']) AND !empty($_GET['tel']) AND $_GET['mdp'] == $_GET['MDP'])
                        {
                        ?>
                            <script language = 'javascript'>
                                cacher(event);
                            </script>
                
                        <?php
                            $indic = count($_SESSION['nom']);
                            $_SESSION['nom'][$indic] = $_GET["nom"];
                            $_SESSION['prenom'][$indic] = $_GET['prenom'];
                            $_SESSION['ville'][$indic] = $_GET['ville'];
                            $_SESSION['email'][$indic] = $_GET['email'];
                            $_SESSION['tel'][$indic] = $_GET['tel'];
                            $_SESSION['description'][$indic] = $_GET['description'];
                            $_SESSION['log'][$indic] = $_GET['id'];
                            $_SESSION['mdp'][$indic] = $_GET['mdp'];
                        }
                        }
                    ?>
    
    
    
    
    

L'affichage des erreurs que tu me proposes ne me sert pas, puisque php ne signale aucune erreur lorsque les mots sont tronqués, ils s'affichent quand même.
Je vais regarder pour la suite du code.