Menu

Recupération données BDD [Résolu]

- - Dernière réponse :  Dnartreb - 14 mars 2019 à 22:05
Bonjour,
Je souhaite récupérer plusieurs lignes de ma table ayant une donnée identique...

J'affiche sur une page des informations personnelles en fonction d'un id. Voici le code que j'utilise pour cela actuellement:
<?php $identifiant = ($_SESSION['user']['identifiant']) ?>
    <?php $IDclient = $arr['IDclient'] ?><!--Pour dossier membre-->
      
        <?php
        $query = 'SELECT * FROM aide WHERE IDmembre="'.$identifiant.'"'; //Envoyer l'identifiant de l'user à la BDD
        $arr = $pdo->query($query)->fetch();
        ?>


Mais j'ai besoin de récupérer les autres lignes où l'IDmembre="'.$identifiant.'"';.

Cela doit être simple mais je ne trouve pas solution...
Une solution?

Merci à vous.

Configuration: Windows / Firefox 65.0
Afficher la suite 

Votre réponse

8 réponses

Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451
0
Merci
bonjour, si tu travailles sur une ligne après l'autre, tu peux faire:
$reponse = $pdo->query($query);
while ($ligne = $reponse->fetch()) { 
  //  traitement d'une ligne de la réponse
} 
Mon dossier client s'affiche mais plus les données qui se trouvent dans ma BDD... Mon but est de pouvoir mettre plusieurs dossiers clients un à la suite de l'autre.
Le dossier client s'affichait correctement avant que je modifie la partie php que tu m'as donnée plus haut (Voir lignes 166-170). Je suppose donc que l'erreur vient du code php et pas de bdd


Revoici mon code:
<?php include('haut.php');?><?php include('membres/debut2.php');?><?php include('aides/bddaide.php');?><?php include('clients/debut.php');?> <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Mes informations</title>
      	
      	<!--Style pour le body-->
      		<!--Style partie 1-->
      			<!--Style partie 2-->
      				<!--Style partie 3-->
      					<!--Style partie 5-->
      <style>
        body {background: rgba(255,221,95,1);}
        	header {height: 210px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
        	ul#menu_horizontal li { display : inline; padding : 0 0.5em; border: 1px blue;}
        	ul#menu_horizontal {list-style-type : none;}
        		section {text-align:center;}
        		ul#menuprofil {list-style-type : none;} 
        		ul#menuprofil li {display: inline; padding: 2em; border: 0.5px solid black;}
        		.menuprofila {color: blue;}
        		.menuprofila:hover {color: red;}
        		h4 {text-align: center;}
       				h3 {text-align: center;}
        			table {text-align: center;}
        			h2 {text-align: center;}
        				p {text-align: center; margin-left: 2%; margin-right: 2%;}
        footer {height: 100px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
      </style>
      	<!--Style pour le dossier des membres-->
        <link rel="stylesheet" href="cssmembres.css">

    </head>
    <body>
      <!--Design des ancres. Montée et desecende animée-->
      <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/mesfonctions.js"></script>

<!--PARTIE 1-->
      <br>
        <header>
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                align="right" 
            >
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                 align="left" 
            >
        <br>
            <h1>Tous unis contre le suicide</h1>
            <h2>Mes informations (Mon profil):</h2>
            <?php include ("header/menuprincipal.php");?><!--Affiche le menu dans l'encadré.-->
        </header>
      
<!--PARTIE 2-->
      <section>
                <!--Récupere l'identifiant de l'user -> L'envoyer à la BDD -> Afficher le prénom de l'utilisateur dans le div ci-dessous-->
                <?php $identifiant_utilisateur = ($_SESSION['user']['identifiant']) ?>
                <?php
                $query = 'SELECT * FROM membres WHERE id="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
                $infos_membre = $pdo->query($query)->fetch();
                ?>
        <div id="menu">
        <h3><?php echo $infos_membre['prenom'];?>, vous vous trouvez sur votre profil... Cette page vous permet un accès rapide à votre dossier et aux dossiers dont vous avez l'autorisation par l'administrateur.</h3>
        <h4>Une partie de la FAQ se rapporte aux fonctionnalités de cette page, n'hésitez pas à aller la lire pour en savoir plus.</h4>
        <br>
        <ul id="menuprofil"><!--Menu pour cette page-->
          <li><a href="#1" class="scroll menuprofila">Accès à mon dossier</a></li>
          <li><a href="#4" class="scroll menuprofila">Accès aux dossiers de mes clients</a></li>
          <li><a href="#2" class="scroll menuprofila">Accès aux dossiers des aides</a></li>
          <li><a href="#3" class="scroll menuprofila">Voir mes informations de connexion</a></li>
        </ul>
        </div>
      </section>
      
<!--PARTIE 3: Dossier du membre-->  
	<div id="1">
    <!--Récupere l'identifiant de l'user pour l'envoyer à la BDD-->
    <?php $identifiant_utilisateur = ($_SESSION['user']['identifiant']) ?>
      
    <br>
        <?php
        $query = 'SELECT * FROM membres WHERE id="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
        $infos_membre = $pdo->query($query)->fetch();
        ?>
        <br>
        <span class="A">
          <h2><u>Mon dossier:</u></h2><!--Affiche les informations du dossier listées dans la table 'membres'-->
            <h4>Ce dossier sera mis à jour par un gestionnaire si celui-ci a été averti de modifications.<br>
          	Vous avez également la permission de modifier vos données conformément aux lois en vigueur.</h4>
        </span>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_membre['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_membre['prenom']; ?></td></tr>
                <tr><td width="50%">Date de naissance:</td><td><?php echo $infos_membre['date_naissance']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_membre['domiciliation']; ?></td></tr>
                <tr><td width="50%">Profession:</td><td><?php echo $infos_membre['profession']; ?></td></tr>
            </table>

            <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription:</td><td><?php echo $infos_membre['dateinscription']; ?></td></tr>
                <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_membre['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_membre['ID']; ?></td></tr>
              	<tr><td width="50%">Statut:</td><td><?php echo $infos_membre['statut']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_membre['email']; ?></td><td width="15%"><?php echo $infos_membre['statutemail']; ?></td></tr> 
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_membre['tel']; ?></td><td width="15%"><?php echo $infos_membre['statuttel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact']; ?></td><td width="15%"><?php echo $infos_membre['statutautre1']; ?></td></tr>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact2']; ?></td><td width="15%"><?php echo $infos_membre['statutautre2']; ?></td></tr>
            </table>
            
            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aides:</caption>
                <tr><td width="50%">Domaines d'aides:</td><td><?php echo $infos_membre['aide']; ?></td></tr>
                <tr><td width="50%">Domaines d'aides supplémentaires:</td><td><?php echo $infos_membre['aidesupp']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_membre['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Finance:</caption>
                <tr><td width="50%">Participation aux frais:</td><td><?php echo $infos_membre['frais']; ?></td></tr>
                <tr><td width="50%">Montant de la participation:</td><td><?php echo $infos_membre['montant']; ?></td></tr>
            </table>
	</div>
<br>
<br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      <div>
<br>   



<!--PARTIE 4: Dossier aide-->
  <div id="2"> 
  <!--Récupere l'identifiant de l'user pour l'envoyer à la BDD-->
    <?php $identifiant_utilisateur = ($_SESSION['user']['identifiant']) ?>
    <?php $IDclient = $infos_aide['IDclient']; ?><!--Recupération de ID du client pour afficher son dossier-->
      
    <br>
        <?php
        $query = 'SELECT * FROM aide WHERE IDmembre="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
        $reponse = $pdo->query($query);
		while ($infos_aide = $reponse->fetch()) { 
        ?>
        <br>
        <section>
          <h2><u>Dossiers aides:</u></h2>
        <h3>Informations générales:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Numéro de l'aide:</th><th><?php echo $infos_aide['numero']; ?></th></tr>
            <tr><th>Statut de l'aide</th><th><?php echo $infos_aide['statut']; ?></th></tr>
            <tr><th>Date du début de l'aide:</th><th><?php echo $infos_aide['debut']; ?></th></tr>
            <tr><th>Date de fin de l'aide:</th><th><?php echo $infos_aide['fin']; ?></th></tr>
        </table>
        <br>
        <h3>Informations générales avancées:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Prénom du client:</th><th><?php echo $infos_aide['prenomclient']; ?></th></tr>
            <tr><th>ID du client:</th><th><?php echo $infos_aide['IDclient']; ?></th></tr>
            <tr><th>Prénom du membre:</th><th><?php echo $infos_aide['prenommembre']; ?></th></tr>
            <tr><th>ID du membre:</th><th><?php echo $infos_aide['IDmembre']; ?></th></tr>
        </table>
        <br>
        <h3>Informations sur l'aide:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Raison de l'aide:</th><th><?php echo $infos_aide['raisonaide']; ?></th></tr>
          <tr><th>Consultez les photos, etc. de l'aide</th><th><a href="0119001doc.php">Cliquez-ici</a></th></tr>
          <tr><th>Consultez les rapports journaliers:</th><th><a href="0119001rapport.php>">Cliquez-ici</a></th></tr>
        </table>
      </section>
     <?php } ?>
  </div>
  <br>
  <br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      <div>
  <br>


<!--PARTIE 6: Dossier client-->
  <div id="4"> 
  <!--Récupere l'identifiant de l'user pour l'envoyer à la BDD-->
  <?php $IDclient = $infos_aide['IDclient']; ?><!--ID du client ci-dessus-->    
    <br>
        <?php
        $query = 'SELECT * FROM clients WHERE id="'.$IDclient.'"'; //Envoyer l'identifiant de l'user à la BDD
        $infos_client = $pdo->query($query)->fetch();
        ?>
        <br>
        <span class="A">
          <h2><u>Dossier client:</u></h2>
            <h3>Sur cette page vous trouverez le dossier de <?php echo $infos_client['prenom']; ?> <?php echo $infos_client['nom']; ?>.</h3>
            <h4>Ce dossier sera mis à jour uniquement si nos services ont été mis au courant de modifications.</h4>
    
    <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_client['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_client['prenom']; ?></td></tr>
                <tr><td width="50%">Âge:</td><td><?php echo $infos_client['age']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_client['domiciliation']; ?></td></tr>
            </table>

          <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription*:</td><td><?php echo $infos_client['dateinscription']; ?></td></tr>
        <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_client['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_client['id']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_client['email']; ?></td></tr>
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_client['tel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="25%">Autres:</td><td width="25%"><?php echo $infos_client['contact']; ?></td><td>/</td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_client['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aide:</caption>
                <tr><td width="50%">Numéro(s) d'aide(s) attribué(s):</td><td><?php echo $infos_client['numeroaide']; ?></td></tr>
            </table>

            </span>

        <p>*: Date d'inscription est égal à la date du premier contact.</p>
  </div>
  <br>
  <br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      <div>
  <br>


  <!--Partie 5: Infos de connexion-->
	<div id="3">
      <h2><u>Mes informations de connexion:</u></h2>
		<h3>Mot de passe</h3>
          <h3>Avant de modifier votre mot de passe, veuillez lire attentivement les remarques ci-dessous:</h3>
          <p>Votre mot de passe actuel est crypté dans une base de donnée ainsi que dans un document sécurisé chez l'administateur.
          Si vous modifiez votre mot de passe, vous le mettrez à jour uniquement dans la base de donnée! En cas d'oubli ou de perte, il sera donc compliqué à l'administrateur de le récupérer. <br>
          Pour remédier a cela, nous vous conseillons de prévenir l'administrateur du changement de mot de passe afin qu'il puisse mettre à jour la sauvegarde. Si vous ne souhaitez pas le transmettre à l'administrateur, vous êtes invité à l'écrire chez vous.<br>
          Pour un maximum de sécurité, veuillez choisir un mot de passe avec au moins 6caractères dont des lettres et chiffres! Les accents ne sont pas tolérés et entraineront des problèmes de connexion. Veuillez ne pas mettre le même mot de passe qu'un autre site, réseau social, etc.</p>
          <p>L'administrateur se garde le droit de bloquer un compte si une activité suspecte est remarquée.</p>
      <?php
      $password = $_POST['password'];
      $confirmation = $_POST['passwordconfirm'];
        if ($password == $confirmation) //Verification des deux mdp 
		{
            if(!empty($_POST)) {
                if(!isset($_POST['password']) || empty($_POST['password'])) {
                    echo "<div class='bandeau bandeau-error'>Merci de renseigner le nouveau mot de passe.</div>";
                    $valid=false;
                }
            if(!empty($_POST)) {
                if(!isset($_POST['passwordconfirm']) || empty($_POST['passwordconfirm'])) {
                    echo "<div class='bandeau bandeau-error'>Merci de confirmer votre nouveau mot de passe.</div>";
                    $valid=false;
                } else {
                    $password = htmlspecialchars($_POST['password']);
                    $username = $_SESSION['user']['username'];
                    $res = update_password($dbh, $username, $password);
                    if($res) {
                        echo "<div class='bandeau bandeau-success'>Le mot de passe a bien été mis à jour!</div>";
                    } else {                        
                        echo "<div class='bandeau bandeau-error'>Une erreur est survenue. Contactez l'administrateur!</div>";
                    }
                }
            }
          }
		} else echo "Vos mots de passe ne sont pas identiques!"         
        ?>
            <table style="text-align: center" border=1 width=90% align="center" cellspacing=0 cellpadding=0 >
                <tr>
                    <td width="100%"><h3>Modifier mon mot de passe:</h3>
                    <form method="POST" action="">                      
                      	<label for="password">Nouveau mot de passe:</label>
                        <input type="password" name="password" placeholder="Nouveau mot de passe" required/>
                      
                      	<label for="passwordconfirm">Confirmer votre nouveau mot de passe:</label>
                        <input type="password" name="passwordconfirm" placeholder="Confirmer mot de passe" required/>
                      
                        <input type="submit" /><br /><br />
                    </form>
                </td></tr>
            </table>
<br>
		<h3>Pseudo:</h3> 
      <p>Le pseudo est une des informations que vous devez entrer pour vous connecter, vous avez normalement pu le choisir. Si celui-ci ne vous convient plus, vous pouvez contacter l'administrateur pour le modifier...<br>
      Cette opération peut prendre entre 24h et 72h. Cette opération ne peut être effectuée régulièrement, la limite de modification reste à l'appréciation de l'administrateur!</p>
      <p style="text-align: center;">Votre pseudo est: <u><?php echo $_SESSION['user']['username']?></u></p>
<br>
		<h3>ID:</h3>
      <p>L'ID est une des informations ques vous devez entrer pour vous connecter, celui-ci vous a été attribué d'office.  L'ID ne peut être modifé (sauf une exception )... L'ID peut être modifié si le numéro peut vous porter préjudice (numéro d'habitation identique) ou si le numéro a un impact psychologique sur vous (si le numéro est équivalent à une date où un évenement choquant pour vous à eu lieu)<br>
      Cette demande doit être effectuée auprès de l'administrateur avec la raison détaillée. Cette démarche peut durer jusqu'à 1mois. L'administrateur peut refuser le changement si celui-ci apporte des contraintes trop importantes.</p>
      <p style="text-align: center;">Votre ID est: <u><?php echo $_SESSION['user']['identifiant']?></u></p>
	</div> 
<br>
<br>
		<div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      <div>
<br>

        <?php include ("footer/footerprincipal.php") ?> 

    </body>
</html>



Mon code doit actuellement afficher à 3 endroits (partie 3, 4 et 6 (commentaire)) les dossiers qui sont stockés sur ma BDD (Sur la même bdd j'ai une table aide, une table clients et une table membres. Les 3tables sont faites de la même façon, 1 ligne est un dossier complet.)

Je désire pouvoir afficher les dossiers des clients (dont le membre connecté a été en contact) et non plus que un des dossiers. Il peut en avoir jusqu'à 4 dossiers clients pour le moment. (Partie 6: de la ligne 211 à 268)

Je désire pouvoir afficher les dossiers des aides (dont le membre connecté a effectué) et non plus que un des dossiers. Il peut en avoir jusqu'à 4 dossiers aides pour le moment. (Partie 4: de la ligne 158 à 197)


La fin de ma page (identifiants de connexion) fonctionne et correspond à mes attentes. (A partir de la ligne 283)

J'espère m'être bien expliqué... Sinon je recommencerais.
yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451 > Dnartreb -
je pense que les lignes 163 et 215 sont incorrectes. qu'essaies-tu d'y faire?
la ligne 163 ne sert probablement à rien, mais je pense que la ligne 215 fait que la partie 6 ne fonctionne pas.

si tu veux travailler avec plusieurs enregistrements clients dans la partie 6, il faut appliquer la même technique que celle que tu as appliquée dans la partie 4 pour les enregistrements aide.

tu n'as pas expliqué les relations entre tes tables.

traitons un problème à la fois. pas lequel veux-tu commencer?
Ligne 163 et 215: Cette ligne a pour but de récupérer l'ID du client qui est affiché dans le dossier de l'aide pour afficher le dossier client de cette personne. Je ne savais pas où il fallait préciser cela donc je l'ai mise à ces deux endroits.

Dans la partie 4 (partie aide), je n'ai un seul dossier qui s'affiche mais si j'ai bien compris la requête php est bonne...

Quelles relations entre mes tables? Je n'ai rien fait de spécial... Chaque table est liée à une page (haut.php, debut.php, debut.php et bddaide.php) où j'exécute des fonctions pour créer une ligne ou modifier une ligne.


Commençons par le problème le plus facile à résoudre... Je te laisse juger lequel est le plus facile car je ne le sais pas moi-même.
yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451 > Dnartreb -
je pense que tu devrais commencer par des exercices plus simples.
Tels que?

Il s'agit de la partie la plus compliquée du site de gestion... Etant donné que le site de gestion est déjà utilisé, je souhaite 'réparer' ce problème au plus vite afin de faciliter l'échange de données entre le personnel.
Commenter la réponse de yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451
0
Merci
si je devines bien, tu travailles pour un membre déterminé, un seul à la fois.
ce membre a plusieurs enregistrements "aide", et, pour chaque "aide", il y a un enregistrement "client".
dans ce cas-là, comment veux-tu afficher tout cela? d'abord la partie 4 avec toutes les aides, et puis la partie 6 avec tous les clients? ou bien, après la partie 4 pour une aide, la partie 6 pour le client correspondant?
yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451 -
je crois que tu veux d'abord afficher toutes les aides, et puis tous les clients.
alors, suggestion:
remplacer la ligne 169 par
$toutes_aides = $reponse->fetchAll();
foreach ($toutes_aides as $infos_aide) {

ajouter avant la ligne 215
foreach ($toutes_aides as $infos_aide) {

copier la ligne 197 avant la ligne 269
Bonjour,
Merci pour ta patience avec moi et tes réponses.

Je veux effectivement afficher tous les dossiers des aides et puis tous les dossiers des clients. J'ai donc essayé ce que tu m'as suggéré et le résultat est vraiment positif. :) Il fait exactement ce que je voulais.

Pour la partie clients, je dois utiliser le même code (foreach) en adaptant les variables ou rien à voir?

Dès que j'aurai le temps, je lirai les documentations concernant la fonction foreach pour en savoir plus car elle a l'air intéressante :)

Merci à toi
yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451 > Dnartreb -
si il y a plusieurs clients par aide, alors il faudrait utiliser soit le while avec fetch, soit le foreach avec fetchall.
le fetch est plus économique, le fetchall permettant de mémoriser tous les résultats pour les utiliser plusieurs fois. j'ai commencé avec le fetch, et suis passé au fetchall quand j'ai compris que tu voulais faire deux fois le tour des aides, dans les parties 4 et 6.

en passant, je vois que tu as des informations mal structurées: tu as par exemple le prénom du membre dans ta table aide, alors que cela ne devrait se trouver que dans la table membre.
Commenter la réponse de yg_be
0
Merci
Chaque aide ne comporte qu'un seul client. (1 aide = 1 client aidé par 1 membre).

Je récupère l'IDclient dans le dossier 'aide' qui s'est affiché plus haut... C'est surement là que ça me pose problème.
J'ai fait echo $IDclient, et la réponse est l'ID du client de la dernière aide citée à la partie 4.

Revoici mon code modifié pour les aides (fonctionnent correctement) et les clients (ne fonctionnent plus; a mon avis il ne fallait pas faire ce que j'ai fait...)
<?php include('haut.php');?><?php include('membres/debut2.php');?><?php include('aides/bddaide.php');?><?php include('clients/debut.php');?> <!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Mes informations</title>
      	
      	<!--Style pour le body-->
      		<!--Style partie 1-->
      			<!--Style partie 2-->
      				<!--Style partie 3-->
      					<!--Style partie 5-->
      <style>
        body {background: rgba(255,221,95,1);}
        	header {height: 210px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
        	ul#menu_horizontal li { display : inline; padding : 0 0.5em; border: 1px blue;}
        	ul#menu_horizontal {list-style-type : none;}
        		section {text-align:center;}
        		ul#menuprofil {list-style-type : none;} 
        		ul#menuprofil li {display: inline; padding: 2em; border: 0.5px solid black;}
        		.menuprofila {color: blue;}
        		.menuprofila:hover {color: red;}
        		h4 {text-align: center;}
       				h3 {text-align: center;}
        			table {text-align: center;}
        			h2 {text-align: center;}
        				p {text-align: center; margin-left: 2%; margin-right: 2%;}
        footer {height: 100px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
      </style>
      	<!--Style pour le dossier des membres-->
        <link rel="stylesheet" href="cssmembres.css">

    </head>
    <body>
      <!--Design des ancres. Montée et desecende animée-->
      <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/mesfonctions.js"></script>

<!--PARTIE 1-->
      <br>
        <header>
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                align="right" 
            >
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                 align="left" 
            >
        <br>
            <h1>Tous unis contre le suicide</h1>
            <h2>Mes informations (Mon profil):</h2>
            <?php include ("header/menuprincipal.php");?><!--Affiche le menu dans l'encadré.-->
        </header>
      
<!--PARTIE 2-->
      <section>
                <!--Récupere l'identifiant de l'user -> L'envoyer à la BDD -> Afficher le prénom de l'utilisateur dans le div ci-dessous-->
                <?php $identifiant_utilisateur = ($_SESSION['user']['identifiant']) ?>
                <?php
                $query = 'SELECT * FROM membres WHERE id="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
                $infos_membre = $pdo->query($query)->fetch();
                ?>
        <div id="menu">
        <h3><?php echo $infos_membre['prenom'];?>, vous vous trouvez sur votre profil... Cette page vous permet un accès rapide à votre dossier et aux dossiers dont vous avez l'autorisation par l'administrateur.</h3>
        <h4>Une partie de la FAQ se rapporte aux fonctionnalités de cette page, n'hésitez pas à aller la lire pour en savoir plus.</h4>
        <br>
        <ul id="menuprofil"><!--Menu pour cette page-->
          <li><a href="#1" class="scroll menuprofila">Accès à mon dossier</a></li>
          <li><a href="#4" class="scroll menuprofila">Accès aux dossiers de mes clients</a></li>
          <li><a href="#2" class="scroll menuprofila">Accès aux dossiers des aides</a></li>
          <li><a href="#3" class="scroll menuprofila">Voir mes informations de connexion</a></li>
        </ul>
        </div>
      </section>
      
<!--PARTIE 3: Dossier du membre-->  
	<div id="1">
    <!--Récupere l'identifiant de l'user pour l'envoyer à la BDD-->
    <?php $identifiant_utilisateur = ($_SESSION['user']['identifiant']) ?>
      
    <br>
        <?php
        $query = 'SELECT * FROM membres WHERE id="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
        $infos_membre = $pdo->query($query)->fetch();
        ?>
        <br>
        <span class="A">
          <h2><u>Mon dossier:</u></h2><!--Affiche les informations du dossier listées dans la table 'membres'-->
            <h4>Ce dossier sera mis à jour par un gestionnaire si celui-ci a été averti de modifications.<br>
          	Vous avez également la permission de modifier vos données conformément aux lois en vigueur.</h4>
        </span>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_membre['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_membre['prenom']; ?></td></tr>
                <tr><td width="50%">Date de naissance:</td><td><?php echo $infos_membre['date_naissance']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_membre['domiciliation']; ?></td></tr>
                <tr><td width="50%">Profession:</td><td><?php echo $infos_membre['profession']; ?></td></tr>
            </table>

            <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription:</td><td><?php echo $infos_membre['dateinscription']; ?></td></tr>
                <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_membre['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_membre['ID']; ?></td></tr>
              	<tr><td width="50%">Statut:</td><td><?php echo $infos_membre['statut']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_membre['email']; ?></td><td width="15%"><?php echo $infos_membre['statutemail']; ?></td></tr> 
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_membre['tel']; ?></td><td width="15%"><?php echo $infos_membre['statuttel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact']; ?></td><td width="15%"><?php echo $infos_membre['statutautre1']; ?></td></tr>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact2']; ?></td><td width="15%"><?php echo $infos_membre['statutautre2']; ?></td></tr>
            </table>
            
            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aides:</caption>
                <tr><td width="50%">Domaines d'aides:</td><td><?php echo $infos_membre['aide']; ?></td></tr>
                <tr><td width="50%">Domaines d'aides supplémentaires:</td><td><?php echo $infos_membre['aidesupp']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_membre['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Finance:</caption>
                <tr><td width="50%">Participation aux frais:</td><td><?php echo $infos_membre['frais']; ?></td></tr>
                <tr><td width="50%">Montant de la participation:</td><td><?php echo $infos_membre['montant']; ?></td></tr>
            </table>
	</div>
<br>
<br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
<br>   



<!--PARTIE 4: Dossier aide-->
  <div id="2"> 
  <!--Récupere l'identifiant de l'user pour l'envoyer à la BDD-->
    <?php $identifiant_utilisateur = ($_SESSION['user']['identifiant']) ?>
    <?php $IDclient = $infos_aide['IDclient']; ?><!--Recupération de ID du client pour afficher son dossier-->
      
    <br>
        <?php
        $query = 'SELECT * FROM aide WHERE IDmembre="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
        $reponse = $pdo->query($query);
		    $toutes_aides = $reponse->fetchAll();
        foreach ($toutes_aides as $infos_aide) {
        ?>
        <br>
        <section>
        <h2><u>Dossiers aides:</u></h2>
        <h3>Informations générales:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Numéro de l'aide:</th><th><?php echo $infos_aide['numero']; ?></th></tr>
            <tr><th>Statut de l'aide</th><th><?php echo $infos_aide['statut']; ?></th></tr>
            <tr><th>Date du début de l'aide:</th><th><?php echo $infos_aide['debut']; ?></th></tr>
            <tr><th>Date de fin de l'aide:</th><th><?php echo $infos_aide['fin']; ?></th></tr>
        </table>
        <br>
        <h3>Informations générales avancées:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Prénom du client:</th><th><?php echo $infos_aide['prenomclient']; ?></th></tr>
            <tr><th>ID du client:</th><th><?php echo $infos_aide['IDclient']; ?></th></tr>
            <tr><th>Prénom du membre:</th><th><?php echo $infos_aide['prenommembre']; ?></th></tr>
            <tr><th>ID du membre:</th><th><?php echo $infos_aide['IDmembre']; ?></th></tr>
        </table>
        <br>
        <h3>Informations sur l'aide:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Raison de l'aide:</th><th><?php echo $infos_aide['raisonaide']; ?></th></tr>
          <tr><th>Consultez les photos, etc. de l'aide</th><th><a href="0119001doc.php">Cliquez-ici</a></th></tr>
          <tr><th>Consultez les rapports journaliers:</th><th><a href="0119001rapport.php>">Cliquez-ici</a></th></tr>
        </table>
      </section>
     <?php } ?>
  </div>
  <br>
  <br>

  <?php foreach ($toutes_aides as $infos_aide) { ?> 
     <?php } ?>
  <br>
  <br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
  <br>
  <br>


<!--PARTIE 6: Dossier client-->
  <div id="4"> 
  <!--Récupere l'identifiant de l'user pour l'envoyer à la BDD-->
  <?php $IDclient = $infos_aide['IDclient']; ?><!--ID du client ci-dessus-->    
    <br>
        <?php
        $query = 'SELECT * FROM clients WHERE id="'.$IDclient.'"'; //Envoyer l'identifiant de l'user à la BDD
    	$reponse = $pdo->query($query);
		    $tous_clients = $reponse->fetchAll();
        foreach ($tous_clients as $infos_clients) {
        ?>
        <br>
        <span class="A">
          <h2><u>Dossier client:</u></h2>
            <h3>Sur cette page vous trouverez le dossier de <?php echo $infos_client['prenom']; ?> <?php echo $infos_client['nom']; ?>.</h3>
            <h4>Ce dossier sera mis à jour uniquement si nos services ont été mis au courant de modifications.</h4>
    
    <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_client['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_client['prenom']; ?></td></tr>
                <tr><td width="50%">Âge:</td><td><?php echo $infos_client['age']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_client['domiciliation']; ?></td></tr>
            </table>

          <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription*:</td><td><?php echo $infos_client['dateinscription']; ?></td></tr>
        <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_client['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_client['id']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_client['email']; ?></td></tr>
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_client['tel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="25%">Autres:</td><td width="25%"><?php echo $infos_client['contact']; ?></td><td>/</td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_client['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aide:</caption>
                <tr><td width="50%">Numéro(s) d'aide(s) attribué(s):</td><td><?php echo $infos_client['numeroaide']; ?></td></tr>
            </table>

            </span>

        <p>*: Date d'inscription est égal à la date du premier contact.</p>
  </div>
  <br>
      <?php } ?>
  <br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
  <br>


  <!--Partie 5: Infos de connexion-->
	<div id="3">
      <h2><u>Mes informations de connexion:</u></h2>
		<h3>Mot de passe</h3>
          <h3>Avant de modifier votre mot de passe, veuillez lire attentivement les remarques ci-dessous:</h3>
          <p>Votre mot de passe actuel est crypté dans une base de donnée ainsi que dans un document sécurisé chez l'administateur.
          Si vous modifiez votre mot de passe, vous le mettrez à jour uniquement dans la base de donnée! En cas d'oubli ou de perte, il sera donc compliqué à l'administrateur de le récupérer. <br>
          Pour remédier a cela, nous vous conseillons de prévenir l'administrateur du changement de mot de passe afin qu'il puisse mettre à jour la sauvegarde. Si vous ne souhaitez pas le transmettre à l'administrateur, vous êtes invité à l'écrire chez vous.<br>
          Pour un maximum de sécurité, veuillez choisir un mot de passe avec au moins 6caractères dont des lettres et chiffres! Les accents ne sont pas tolérés et entraineront des problèmes de connexion. Veuillez ne pas mettre le même mot de passe qu'un autre site, réseau social, etc.</p>
          <p>L'administrateur se garde le droit de bloquer un compte si une activité suspecte est remarquée.</p>
      <?php
      $password = $_POST['password'];
      $confirmation = $_POST['passwordconfirm'];
        if ($password == $confirmation) //Verification des deux mdp 
		{
            if(!empty($_POST)) {
                if(!isset($_POST['password']) || empty($_POST['password'])) {
                    echo "<div class='bandeau bandeau-error'>Merci de renseigner le nouveau mot de passe.</div>";
                    $valid=false;
                }
            if(!empty($_POST)) {
                if(!isset($_POST['passwordconfirm']) || empty($_POST['passwordconfirm'])) {
                    echo "<div class='bandeau bandeau-error'>Merci de confirmer votre nouveau mot de passe.</div>";
                    $valid=false;
                } else {
                    $password = htmlspecialchars($_POST['password']);
                    $username = $_SESSION['user']['username'];
                    $res = update_password($dbh, $username, $password);
                    if($res) {
                        echo "<div class='bandeau bandeau-success'>Le mot de passe a bien été mis à jour!</div>";
                    } else {                        
                        echo "<div class='bandeau bandeau-error'>Une erreur est survenue. Contactez l'administrateur!</div>";
                    }
                }
            }
          }
		} else echo "Vos mots de passe ne sont pas identiques!"         
        ?>
            <table style="text-align: center" border=1 width=90% align="center" cellspacing=0 cellpadding=0 >
                <tr>
                    <td width="100%"><h3>Modifier mon mot de passe:</h3>
                    <form method="POST" action="">                      
                      	<label for="password">Nouveau mot de passe:</label>
                        <input type="password" name="password" placeholder="Nouveau mot de passe" required/>
                      
                      	<label for="passwordconfirm">Confirmer votre nouveau mot de passe:</label>
                        <input type="password" name="passwordconfirm" placeholder="Confirmer mot de passe" required/>
                      
                        <input type="submit" /><br /><br />
                    </form>
                </td></tr>
            </table>
<br>
		<h3>Pseudo:</h3> 
      <p>Le pseudo est une des informations que vous devez entrer pour vous connecter, vous avez normalement pu le choisir. Si celui-ci ne vous convient plus, vous pouvez contacter l'administrateur pour le modifier...<br>
      Cette opération peut prendre entre 24h et 72h. Cette opération ne peut être effectuée régulièrement, la limite de modification reste à l'appréciation de l'administrateur!</p>
      <p style="text-align: center;">Votre pseudo est: <u><?php echo $_SESSION['user']['username']?></u></p>
<br>
		<h3>ID:</h3>
      <p>L'ID est une des informations ques vous devez entrer pour vous connecter, celui-ci vous a été attribué d'office.  L'ID ne peut être modifé (sauf une exception )... L'ID peut être modifié si le numéro peut vous porter préjudice (numéro d'habitation identique) ou si le numéro a un impact psychologique sur vous (si le numéro est équivalent à une date où un évenement choquant pour vous à eu lieu)<br>
      Cette demande doit être effectuée auprès de l'administrateur avec la raison détaillée. Cette démarche peut durer jusqu'à 1mois. L'administrateur peut refuser le changement si celui-ci apporte des contraintes trop importantes.</p>
      <p style="text-align: center;">Votre ID est: <u><?php echo $_SESSION['user']['identifiant']?></u></p>
	</div> 
<br>
<br>
		<div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
<br>

        <?php include ("footer/footerprincipal.php") ?> 

    </body>
</html>
yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451 -
tu as choisi de ne pas faire ce que j'avais suggéré en #22.
Commenter la réponse de Dnartreb
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
1915
0
Merci
Bonjour,

Je me permet d'intervenir .....
Ton code n'est pas ordonné et donc pas très lisible....

De plus.. tu ne gères pas les éventuelles erreurs PDO.

Je t'invite vivement à lire ( et à appliquer ! ) le contenu de ces deux liens :
- https://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code
( à commencer par placer le maximum de code php en dehors du html (avant le html même...) et éventuellement le découper en fonctions ainsi que la récupération "propre" des variables AVANT de les utiliser)

- https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

Il serait bien également de nous montrer la structure de tes tables.
Il semble que tu fais deux requêtes... là où une simple jointure serait plus simple et plus performant...
$query = 'SELECT * FROM aide WHERE IDmembre="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD

$query = 'SELECT * FROM membres WHERE id="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD

 $query = 'SELECT * FROM clients WHERE id="'.$IDclient.'"'; //Envoyer l'identifiant de l'user à la BDD


Semble revenir à
SELECT A.*
              ,M.*
              ,C.*
FROM aide A 
LEFT JOIN membres M ON M.id =A.IDmembre
LEFT JOIN clients C  ON C.id = M.IDclient
WHERE A.IDmembre = '$identifiant_utilisateur'


Avec cette seule requête... tu récupères toutes les infos que tu souhaites afficher....
Un simple FETCH et le tour est joué...

Il faut absolument éviter des faire des requêtes dans des boucles provenant d'autres requêtes..... à moins que tu veuilles que ta page soit lente.....

yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451 -
Dnartreb, pour suivre l'excellente suggestion de Jordane, il te suffit, dans le code partagé en #25, de modifier la ligne 225, pour avoir:

$query = 'SELECT C.*
FROM clients C, aide A WHERE C.id = A.IDclient
AND A.IDmembre ="'.$identifiant_utilisateur.'"';
jordane45
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
1915 > yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
-
enfin... ce n'est pas juste la ligne 255 ....... faut remettre au propre TOUT le code....
> jordane45
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
-
Bonjour,
Ça a l'air simple et rapide mais je ne suis pas du métier, je suis débutant....
Tu me donnes une partie de code que je ne sais même pas où il faudrait le placer.

Ma page n'est pas lente pour le moment et une fois que j'aurais réussi à mettre plusieurs dossiers clients, la page sera finie. Évidemment ce n'est pas une raison pour ne pas suivre tes conseils mais a vrai dire, je me suis perdu.

On me dit régulièrement de mettre un code propre mais mise à part mes variables dont les noms ne sont parfois pas les meilleurs, que modifier? J'essaie de respecter le décalage, de mettre de enter quand je change de partie et des mettre quelques commentaires...
jordane45
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
1915 > Dnartreb -
Si tu lis les liens que je t'ai donné... tu y verras quelques recommandations...

comme par exemple... placer le maximum de code php AU dessus de tout code HTML.
De découper ton code php en FONCTIONS
De récupérer PROPREMENT les variables AVANT de les utiliser
D'activer l'affichage des erreurs php
etc...
jordane45
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
1915 -
Par exemple, tu pourrais juste commencer par regarder ce que fais ceci :
<?php 

 //affichage des erreurs PHP
 error_reporting(E_ALL);
 ini_set('display_errors', TRUE);
 ini_set('display_startup_errors', TRUE);

 
 include('haut.php');
 include('membres/debut2.php');
 include('aides/bddaide.php');
 include('clients/debut.php'); 
 
 
//récupération PROPRE des variables AVANT de les utiliser 
$identifiant_utilisateur = !empty($_SESSION['user']['identifiant']) ? $_SESSION['user']['identifiant'] : NULL;

if($identifiant_utilisateur){ //si il y a bien un identifiant utilisateur en session...
 
  $sql = "SELECT A.*
              ,M.*
              ,C.*
        FROM aide A 
        LEFT JOIN membres M ON M.id =A.IDmembre
        LEFT JOIN clients C  ON C.id = M.IDclient
        WHERE A.IDmembre = :user";
  $datas = array(':user'=>$identifiant_utilisateur);
 
  //Execution de la requete
  try{
    $requete = $bdd -> prepare($sql) ;
    $requete->execute($datas) ;
    $infos = $requete->fetchAll(); // on stocke le resultat de la requête dans un array
  }catch(Exception $e){
    // en cas d'erreur :
     echo " Erreur ! ".$e->getMessage();
     echo " Les datas : " ;
     print_r($datas);
  }
  
  
  
  
  
}

 
 
 
 ?>
<!DOCTYPE html>
<html>
    <head>
      <meta charset="utf-8" />
      <title>Mes informations</title>
      <style>
        body {background: rgba(255,221,95,1);}
        	header {height: 210px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
        	ul#menu_horizontal li { display : inline; padding : 0 0.5em; border: 1px blue;}
        	ul#menu_horizontal {list-style-type : none;}
        		section {text-align:center;}
        		ul#menuprofil {list-style-type : none;} 
        		ul#menuprofil li {display: inline; padding: 2em; border: 0.5px solid black;}
        		.menuprofila {color: blue;}
        		.menuprofila:hover {color: red;}
        		h4 {text-align: center;}
       				h3 {text-align: center;}
        			table {text-align: center;}
        			h2 {text-align: center;}
        				p {text-align: center; margin-left: 2%; margin-right: 2%;}
        footer {height: 100px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
      </style>
      
      <!--Style pour le dossier des membres-->
      <link rel="stylesheet" href="cssmembres.css">
    </head>
    <body>
      <!--Design des ancres. Montée et desecende animée-->
      <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/mesfonctions.js"></script>

      <!--PARTIE 1-->
      <br>
        <header>
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                align="right" 
            >
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                 align="left" 
            >
        <br>
            <h1>Tous unis contre le suicide</h1>
            <h2>Mes informations (Mon profil):</h2>
            <?php include ("header/menuprincipal.php");?><!--Affiche le menu dans l'encadré.-->
        </header>
      
<!--PARTIE 2-->
      <section>
                
        <div id="menu">
        <h3><?php echo $infos['prenom'];?>, vous vous trouvez sur votre profil... Cette page vous permet un accès rapide à votre dossier et aux dossiers dont vous avez l'autorisation par l'administrateur.</h3>
        <h4>Une partie de la FAQ se rapporte aux fonctionnalités de cette page, n'hésitez pas à aller la lire pour en savoir plus.</h4>
        <br>
        <ul id="menuprofil"><!--Menu pour cette page-->
          <li><a href="#1" class="scroll menuprofila">Accès à mon dossier</a></li>
          <li><a href="#4" class="scroll menuprofila">Accès aux dossiers de mes clients</a></li>
          <li><a href="#2" class="scroll menuprofila">Accès aux dossiers des aides</a></li>
          <li><a href="#3" class="scroll menuprofila">Voir mes informations de connexion</a></li>
        </ul>
        </div>
      </section>
      
<!--PARTIE 3: Dossier du membre-->  
	<div id="1">  
  
    <pre>
      <?php
       //pour voir le contenu de la requête .....
       print_r($infos);
      ?>
    </pre>
  
  
  </div>
  
 </body>
</html>


A partir de là .. tu n'auras plus qu'à remettres tes différentes DIV .. en te basant sur les données présentes dans l'array $infos
Commenter la réponse de jordane45
0
Merci
C'est bien gentil de ta part mais soit je ne suis vraiment pas fait pour ça soit je suis débile...
Dans ton premier message, tu mets en avant mes trois requetes qui me donne actuellement mes informations. Tu le remplaces par un seul bout de code mais je dois le mettre au dessus du code HTML comme tu me dis? Si oui, comment je dis que tels informations doit s'afficher là et tels informations doit s'afficher là?

J'ai essayé ce que tu m'as dit, enfin ce que j'ai compris, dans mon code, voici mon code... Dites moi les erreurs car ça fait 3jours que je fais ça et j'en ai un peu marre de tourner autour.
<?php include('haut.php');?><?php include('membres/debut2.php');?><?php include('aides/bddaide.php');?><?php include('clients/debut.php');?>
<?php
$identifiant_utilisateur = ($_SESSION['user']['identifiant']);
"SELECT A.*
              ,M.*
              ,C.*
FROM aide A 
LEFT JOIN membres M ON M.id =A.IDmembre
LEFT JOIN clients C  ON C.id = M.IDclient
WHERE A.IDmembre = '$identifiant_utilisateur'";
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Mes informations</title>
      	
      	<!--Style pour le body-->
      		<!--Style partie 1-->
      			<!--Style partie 2-->
      				<!--Style partie 3-->
      					<!--Style partie 5-->
      <style>
        body {background: rgba(255,221,95,1);}
        	header {height: 210px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
        	ul#menu_horizontal li { display : inline; padding : 0 0.5em; border: 1px blue;}
        	ul#menu_horizontal {list-style-type : none;}
        		section {text-align:center;}
        		ul#menuprofil {list-style-type : none;} 
        		ul#menuprofil li {display: inline; padding: 2em; border: 0.5px solid black;}
        		.menuprofila {color: blue;}
        		.menuprofila:hover {color: red;}
        		h4 {text-align: center;}
       				h3 {text-align: center;}
        			table {text-align: center;}
        			h2 {text-align: center;}
        				p {text-align: center; margin-left: 2%; margin-right: 2%;}
        footer {height: 100px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
      </style>
      	<!--Style pour le dossier des membres-->
        <link rel="stylesheet" href="cssmembres.css">

    </head>
    <body>
      <!--Design des ancres. Montée et desecende animée-->
      <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/mesfonctions.js"></script>

<!--PARTIE 1-->
      <br>
        <header>
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                align="right" 
            >
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                 align="left" 
            >
        <br>
            <h1>Tous unis contre le suicide</h1>
            <h2>Mes informations (Mon profil):</h2>
            <?php include ("header/menuprincipal.php");?><!--Affiche le menu dans l'encadré.-->
        </header>
<br>    
<!--PARTIE 2-->
      <section>
                <?php
                $query = 'SELECT * FROM membres WHERE id="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
                $infos_membre = $pdo->query($query)->fetch();
                ?>
        <div id="menu">
        <h3><?php echo $infos_membre['prenom'];?>, vous vous trouvez sur votre profil... Cette page vous permet un accès rapide à votre dossier et aux dossiers dont vous avez l'autorisation par l'administrateur.</h3>
        <h4>Une partie de la FAQ se rapporte aux fonctionnalités de cette page, n'hésitez pas à aller la lire pour en savoir plus.</h4>
        <br>
        <ul id="menuprofil"><!--Menu pour cette page-->
          <li><a href="#1" class="scroll menuprofila">Accès à mon dossier</a></li>
          <li><a href="#4" class="scroll menuprofila">Accès aux dossiers de mes clients</a></li>
          <li><a href="#2" class="scroll menuprofila">Accès aux dossiers des aides</a></li>
          <li><a href="#3" class="scroll menuprofila">Voir mes informations de connexion</a></li>
        </ul>
        </div>
      </section>
      
<!--PARTIE 3: Dossier du membre-->  
	<div id="1">      
    <br>
        <?php
        $query = 'SELECT M.*
        FROM membre M WHERE M.ID ="'.$identifiant_utilisateur.'"';
        $reponse = $pdo->query($query);
		$membre = $reponse->fetchAll();
        foreach ($membre as $infos_membre) {
        ?>
        <br>
        <span class="A">
          <h2><u>Mon dossier:</u></h2><!--Affiche les informations du dossier listées dans la table 'membres'-->
            <h4>Ce dossier sera mis à jour par un gestionnaire si celui-ci a été averti de modifications.<br>
          	Vous avez également la permission de modifier vos données conformément aux lois en vigueur.</h4>
        </span>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_membre['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_membre['prenom']; ?></td></tr>
                <tr><td width="50%">Date de naissance:</td><td><?php echo $infos_membre['date_naissance']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_membre['domiciliation']; ?></td></tr>
                <tr><td width="50%">Profession:</td><td><?php echo $infos_membre['profession']; ?></td></tr>
            </table>

            <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription:</td><td><?php echo $infos_membre['dateinscription']; ?></td></tr>
                <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_membre['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_membre['ID']; ?></td></tr>
              	<tr><td width="50%">Statut:</td><td><?php echo $infos_membre['statut']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_membre['email']; ?></td><td width="15%"><?php echo $infos_membre['statutemail']; ?></td></tr> 
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_membre['tel']; ?></td><td width="15%"><?php echo $infos_membre['statuttel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact']; ?></td><td width="15%"><?php echo $infos_membre['statutautre1']; ?></td></tr>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact2']; ?></td><td width="15%"><?php echo $infos_membre['statutautre2']; ?></td></tr>
            </table>
            
            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aides:</caption>
                <tr><td width="50%">Domaines d'aides:</td><td><?php echo $infos_membre['aide']; ?></td></tr>
                <tr><td width="50%">Domaines d'aides supplémentaires:</td><td><?php echo $infos_membre['aidesupp']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_membre['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Finance:</caption>
                <tr><td width="50%">Participation aux frais:</td><td><?php echo $infos_membre['frais']; ?></td></tr>
                <tr><td width="50%">Montant de la participation:</td><td><?php echo $infos_membre['montant']; ?></td></tr>
            </table>
      <?php } ?>
	</div>
<br>
<br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
<br>   



<!--PARTIE 4: Dossier aide-->
  <div id="2">   
    <br>
        <?php
        $query = 'SELECT * FROM aide WHERE IDmembre="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
        $query = 'SELECT A.*
        FROM aide A WHERE A.IDmembre ="'.$identifiant_utilisateur.'"';
        $reponse = $pdo->query($query);
		    $toutes_aides = $reponse->fetchAll();
        foreach ($toutes_aides as $infos_aide) {
        ?>
        <br>
        <section>
        <h2><u>Dossiers aides:</u></h2>
        <h3>Informations générales:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Numéro de l'aide:</th><th><?php echo $infos_aide['numero']; ?></th></tr>
            <tr><th>Statut de l'aide</th><th><?php echo $infos_aide['statut']; ?></th></tr>
            <tr><th>Date du début de l'aide:</th><th><?php echo $infos_aide['debut']; ?></th></tr>
            <tr><th>Date de fin de l'aide:</th><th><?php echo $infos_aide['fin']; ?></th></tr>
        </table>
        <br>
        <h3>Informations générales avancées:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Prénom du client:</th><th><?php echo $infos_aide['prenomclient']; ?></th></tr>
            <tr><th>ID du client:</th><th><?php echo $infos_aide['IDclient']; ?></th></tr>
            <tr><th>Prénom du membre:</th><th><?php echo $infos_aide['prenommembre']; ?></th></tr>
            <tr><th>ID du membre:</th><th><?php echo $infos_aide['IDmembre']; ?></th></tr>
        </table>
        <br>
        <h3>Informations sur l'aide:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Raison de l'aide:</th><th><?php echo $infos_aide['raisonaide']; ?></th></tr>
          <tr><th>Consultez les photos, etc. de l'aide</th><th><a href="0119001doc.php">Cliquez-ici</a></th></tr>
          <tr><th>Consultez les rapports journaliers:</th><th><a href="0119001rapport.php>">Cliquez-ici</a></th></tr>
        </table>
      </section>
     <?php } ?>
  </div>
  <br>
  <br>

  <?php foreach ($toutes_aides as $infos_aide) { ?> 
     <?php } ?>
  <br>
  <br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
  <br>
  <br>


<!--PARTIE 6: Dossier client-->
  <div id="4"> 
    <br>
        <?php 
        $query = 'SELECT C.*
        FROM clients C, aide A WHERE C.id = A.IDclient
        AND A.IDmembre ="'.$identifiant_utilisateur.'"';
        $reponse = $pdo->query($query);
        $tous_clients = $reponse->fetchAll();
        foreach ($tous_clients as $infos_clients) {
        ?>
        <br>
        <span class="A">
          <h2><u>Dossier client:</u></h2>
            <h3>Sur cette page vous trouverez le dossier de <?php echo $infos_client['prenom']; ?> <?php echo $infos_client['nom']; ?>.</h3>
            <h4>Ce dossier sera mis à jour uniquement si nos services ont été mis au courant de modifications.</h4>
    
    <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_client['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_client['prenom']; ?></td></tr>
                <tr><td width="50%">Âge:</td><td><?php echo $infos_client['age']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_client['domiciliation']; ?></td></tr>
            </table>

          <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription*:</td><td><?php echo $infos_client['dateinscription']; ?></td></tr>
        <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_client['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_client['id']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_client['email']; ?></td></tr>
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_client['tel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="25%">Autres:</td><td width="25%"><?php echo $infos_client['contact']; ?></td><td>/</td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_client['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aide:</caption>
                <tr><td width="50%">Numéro(s) d'aide(s) attribué(s):</td><td><?php echo $infos_client['numeroaide']; ?></td></tr>
            </table>

            </span>

        <p>*: Date d'inscription est égal à la date du premier contact.</p>
  </div>
  <br>
      <?php } ?>
  <br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
  <br>


  <!--Partie 5: Infos de connexion-->
	<div id="3">
      <h2><u>Mes informations de connexion:</u></h2>
		<h3>Mot de passe</h3>
          <h3>Avant de modifier votre mot de passe, veuillez lire attentivement les remarques ci-dessous:</h3>
          <p>Votre mot de passe actuel est crypté dans une base de donnée ainsi que dans un document sécurisé chez l'administateur.
          Si vous modifiez votre mot de passe, vous le mettrez à jour uniquement dans la base de donnée! En cas d'oubli ou de perte, il sera donc compliqué à l'administrateur de le récupérer. <br>
          Pour remédier a cela, nous vous conseillons de prévenir l'administrateur du changement de mot de passe afin qu'il puisse mettre à jour la sauvegarde. Si vous ne souhaitez pas le transmettre à l'administrateur, vous êtes invité à l'écrire chez vous.<br>
          Pour un maximum de sécurité, veuillez choisir un mot de passe avec au moins 6caractères dont des lettres et chiffres! Les accents ne sont pas tolérés et entraineront des problèmes de connexion. Veuillez ne pas mettre le même mot de passe qu'un autre site, réseau social, etc.</p>
          <p>L'administrateur se garde le droit de bloquer un compte si une activité suspecte est remarquée.</p>
      <?php
      $password = $_POST['password'];
      $confirmation = $_POST['passwordconfirm'];
        if ($password == $confirmation) //Verification des deux mdp 
		{
            if(!empty($_POST)) {
                if(!isset($_POST['password']) || empty($_POST['password'])) {
                    echo "<div class='bandeau bandeau-error'>Merci de renseigner le nouveau mot de passe.</div>";
                    $valid=false;
                }
            if(!empty($_POST)) {
                if(!isset($_POST['passwordconfirm']) || empty($_POST['passwordconfirm'])) {
                    echo "<div class='bandeau bandeau-error'>Merci de confirmer votre nouveau mot de passe.</div>";
                    $valid=false;
                } else {
                    $password = htmlspecialchars($_POST['password']);
                    $username = $_SESSION['user']['username'];
                    $res = update_password($dbh, $username, $password);
                    if($res) {
                        echo "<div class='bandeau bandeau-success'>Le mot de passe a bien été mis à jour!</div>";
                    } else {                        
                        echo "<div class='bandeau bandeau-error'>Une erreur est survenue. Contactez l'administrateur!</div>";
                    }
                }
            }
          }
		} else echo "Vos mots de passe ne sont pas identiques!"         
        ?>
            <table style="text-align: center" border=1 width=90% align="center" cellspacing=0 cellpadding=0 >
                <tr>
                    <td width="100%"><h3>Modifier mon mot de passe:</h3>
                    <form method="POST" action="">                      
                      	<label for="password">Nouveau mot de passe:</label>
                        <input type="password" name="password" placeholder="Nouveau mot de passe" required/>
                      
                      	<label for="passwordconfirm">Confirmer votre nouveau mot de passe:</label>
                        <input type="password" name="passwordconfirm" placeholder="Confirmer mot de passe" required/>
                      
                        <input type="submit" /><br /><br />
                    </form>
                </td></tr>
            </table>
<br>
		<h3>Pseudo:</h3> 
      <p>Le pseudo est une des informations que vous devez entrer pour vous connecter, vous avez normalement pu le choisir. Si celui-ci ne vous convient plus, vous pouvez contacter l'administrateur pour le modifier...<br>
      Cette opération peut prendre entre 24h et 72h. Cette opération ne peut être effectuée régulièrement, la limite de modification reste à l'appréciation de l'administrateur!</p>
      <p style="text-align: center;">Votre pseudo est: <u><?php echo $_SESSION['user']['username']?></u></p>
<br>
		<h3>ID:</h3>
      <p>L'ID est une des informations ques vous devez entrer pour vous connecter, celui-ci vous a été attribué d'office.  L'ID ne peut être modifé (sauf une exception )... L'ID peut être modifié si le numéro peut vous porter préjudice (numéro d'habitation identique) ou si le numéro a un impact psychologique sur vous (si le numéro est équivalent à une date où un évenement choquant pour vous à eu lieu)<br>
      Cette demande doit être effectuée auprès de l'administrateur avec la raison détaillée. Cette démarche peut durer jusqu'à 1mois. L'administrateur peut refuser le changement si celui-ci apporte des contraintes trop importantes.</p>
      <p style="text-align: center;">Votre ID est: <u><?php echo $_SESSION['user']['identifiant']?></u></p>
	</div> 
<br>
<br>
		<div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
<br>

        <?php include ("footer/footerprincipal.php") ?> 

    </body>
</html>


Je n'ai pas encore fait tout tes conseils...
Commenter la réponse de Dnartreb
0
Merci
Plus j'avance moins j'ai des informations qui s'affiche... J'avais perdu le dossier client, maintenant je n'ai plus rien qui s'affiche mise à part des erreurs. C'est déprimant.

J'ai copié ton code et j'ai mis le dossier membre... C'est à dire que j'ai ceci:
<?php 
 //affichage des erreurs PHP
 error_reporting(E_ALL);
 ini_set('display_errors', TRUE);
 ini_set('display_startup_errors', TRUE);

include('haut.php');
include('membres/debut2.php');
include('aides/bddaide.php');
include('clients/debut.php');
?>

<?php
$identifiant_utilisateur = !empty($_SESSION['user']['identifiant']) ? $_SESSION['user']['identifiant'] : NULL;

if($identifiant_utilisateur){ //si il y a bien un identifiant utilisateur en session...

 $sql = "SELECT A.*
              ,M.*
              ,C.*
        FROM aide A 
        LEFT JOIN membres M ON M.id =A.IDmembre
        LEFT JOIN clients C  ON C.id = M.IDclient
        WHERE A.IDmembre = :user";
  $datas = array(':user'=>$identifiant_utilisateur);


    //Execution de la requete
  try{
    $requete = $bdd -> prepare($sql) ;
    $requete->execute($datas) ;
    $infos = $requete->fetchAll(); // on stocke le resultat de la requête dans un array
  }catch(Exception $e){
    // en cas d'erreur :
     echo " Erreur ! ".$e->getMessage();
     echo " Les datas : " ;
     print_r($datas);
  }

}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Mes informations</title>
       
       <!--Style pour le body-->
        <!--Style partie 1-->
         <!--Style partie 2-->
          <!--Style partie 3-->
           <!--Style partie 5-->
      <style>
        body {background: rgba(255,221,95,1);}
         header {height: 210px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
         ul#menu_horizontal li { display : inline; padding : 0 0.5em; border: 1px blue;}
         ul#menu_horizontal {list-style-type : none;}
          section {text-align:center;}
          ul#menuprofil {list-style-type : none;} 
          ul#menuprofil li {display: inline; padding: 2em; border: 0.5px solid black;}
          .menuprofila {color: blue;}
          .menuprofila:hover {color: red;}
          h4 {text-align: center;}
           h3 {text-align: center;}
           table {text-align: center;}
           h2 {text-align: center;}
            p {text-align: center; margin-left: 2%; margin-right: 2%;}
        footer {height: 100px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
      </style>
       <!--Style pour le dossier des membres-->
        <link rel="stylesheet" href="cssmembres.css">

    </head>
    <body>
      <!--Design des ancres. Montée et desecende animée-->
      <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/mesfonctions.js"></script>

<!--PARTIE 1-->
      <br>
        <header>
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                align="right" 
            >
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                 align="left" 
            >
        <br>
            <h1>Tous unis contre le suicide</h1>
            <h2>Mes informations (Mon profil):</h2>
            <?php include ("header/menuprincipal.php");?><!--Affiche le menu dans l'encadré.-->
        </header>
<br>      
<!--PARTIE 2-->
      <section>
        <div id="menu">
        <h3><?php echo $infos['prenom'];?>, vous vous trouvez sur votre profil... Cette page vous permet un accès rapide à votre dossier et aux dossiers dont vous avez l'autorisation par l'administrateur.</h3>
        <h4>Une partie de la FAQ se rapporte aux fonctionnalités de cette page, n'hésitez pas à aller la lire pour en savoir plus.</h4>
        <br>
        <ul id="menuprofil"><!--Menu pour cette page-->
          <li><a href="#1" class="scroll menuprofila">Accès à mon dossier</a></li>
          <li><a href="#4" class="scroll menuprofila">Accès aux dossiers de mes clients</a></li>
          <li><a href="#2" class="scroll menuprofila">Accès aux dossiers des aides</a></li>
          <li><a href="#3" class="scroll menuprofila">Voir mes informations de connexion</a></li>
        </ul>
        </div>
      </section>
      
<!--PARTIE 3: Dossier du membre-->  
 <div id="1">
    <pre>
      <?php
       //pour voir le contenu de la requête .....
       print_r($infos);
      ?>
        <br>
        <span class="A">
          <h2><u>Mon dossier:</u></h2><!--Affiche les informations du dossier listées dans la table 'membres'-->
            <h4>Ce dossier sera mis à jour par un gestionnaire si celui-ci a été averti de modifications.<br>
           Vous avez également la permission de modifier vos données conformément aux lois en vigueur.</h4>
        </span>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_membre['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_membre['prenom']; ?></td></tr>
                <tr><td width="50%">Date de naissance:</td><td><?php echo $infos_membre['date_naissance']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_membre['domiciliation']; ?></td></tr>
                <tr><td width="50%">Profession:</td><td><?php echo $infos_membre['profession']; ?></td></tr>
            </table>

            <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription:</td><td><?php echo $infos_membre['dateinscription']; ?></td></tr>
                <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_membre['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_membre['ID']; ?></td></tr>
               <tr><td width="50%">Statut:</td><td><?php echo $infos_membre['statut']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_membre['email']; ?></td><td width="15%"><?php echo $infos_membre['statutemail']; ?></td></tr> 
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_membre['tel']; ?></td><td width="15%"><?php echo $infos_membre['statuttel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact']; ?></td><td width="15%"><?php echo $infos_membre['statutautre1']; ?></td></tr>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact2']; ?></td><td width="15%"><?php echo $infos_membre['statutautre2']; ?></td></tr>
            </table>
            
            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aides:</caption>
                <tr><td width="50%">Domaines d'aides:</td><td><?php echo $infos_membre['aide']; ?></td></tr>
                <tr><td width="50%">Domaines d'aides supplémentaires:</td><td><?php echo $infos_membre['aidesupp']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_membre['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Finance:</caption>
                <tr><td width="50%">Participation aux frais:</td><td><?php echo $infos_membre['frais']; ?></td></tr>
                <tr><td width="50%">Montant de la participation:</td><td><?php echo $infos_membre['montant']; ?></td></tr>
            </table>
      </pre>
 </div>
<br>


Dans tous mes <table></table>, je dois remplacer
<?php echo $infos_membre['montant']; ?>
par
<?php echo $infos['montant']; ?> ou ça n'a rien à voir?


Je ne comprends pas le fonctionnement du code que tu m'as donné, tu me dis que je dois rajouter mes <div> en me basant sur des données dans l'array $infos... Comment $infos sait qu'elle données j'ai besoin? Elle stocke toutes les données en même temps?

Quand j'essaie d'ouvrir ma page avec le code ci-dessus, j'ai plusieurs erreurs:
Notice: Undefined variable: identifiant in /homepages/22/d767857963/htdocs/organisation/V2tousmembres/haut.php on line 42

Notice: Undefined variable: bdd in /homepages/22/d767857963/htdocs/organisation/V2tousmembres/mesinfos.php on line 30

Fatal error: Uncaught Error: Call to a member function prepare() on null in /homepages/22/d767857963/htdocs/organisation/V2tousmembres/mesinfos.php:30 Stack trace: #0 {main} thrown in /homepages/22/d767857963/htdocs/organisation/V2tousmembres/mesinfos.php on line 30

Est-ce normal car je n'ai pas fini? J'ai fait une grosse erreur?

(Je sais que je suis chiant avec toutes mes questions, je m'excuse)
Ca marche mieux comme ça...
Etape suivante:
J'ai remis le dossier membre (tous mes <table>). Je remets donc le code:
<?php 

 //affichage des erreurs PHP
 error_reporting(E_ALL);
 ini_set('display_errors', TRUE);
 ini_set('display_startup_errors', TRUE);

 
 include('haut.php');
 include('membres/debut2.php');
 include('aides/bddaide.php');
 include('clients/debut.php'); 
 
 
//récupération PROPRE des variables AVANT de les utiliser 
$identifiant_utilisateur = !empty($_SESSION['user']['identifiant']) ? $_SESSION['user']['identifiant'] : NULL;

if($identifiant_utilisateur){ //si il y a bien un identifiant utilisateur en session...
 
  $sql = "SELECT A.*
              ,M.*
              ,C.*
        FROM aide A 
        LEFT JOIN membres M ON M.id =A.IDmembre
        LEFT JOIN clients C  ON C.id = M.IDclient
        WHERE A.IDmembre = :user";
  $datas = array(':user'=>$identifiant_utilisateur);
 
  //Execution de la requete
  try{
    $requete = $pdo -> prepare($sql) ;
    $requete->execute($datas) ;
    $infos = $requete->fetchAll(); // on stocke le resultat de la requête dans un array
  }catch(Exception $e){
    // en cas d'erreur :
     echo " Erreur ! ".$e->getMessage();
     echo " Les datas : " ;
     print_r($datas);
  } 
}
?>

<!DOCTYPE html>
<html>
    <head>
      <meta charset="utf-8" />
      <title>Mes informations</title>
      <style>
        body {background: rgba(255,221,95,1);}
        	header {height: 210px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
        	ul#menu_horizontal li { display : inline; padding : 0 0.5em; border: 1px blue;}
        	ul#menu_horizontal {list-style-type : none;}
        		section {text-align:center;}
        		ul#menuprofil {list-style-type : none;} 
        		ul#menuprofil li {display: inline; padding: 2em; border: 0.5px solid black;}
        		.menuprofila {color: blue;}
        		.menuprofila:hover {color: red;}
        		h4 {text-align: center;}
       				h3 {text-align: center;}
        			table {text-align: center;}
        			h2 {text-align: center;}
        				p {text-align: center; margin-left: 2%; margin-right: 2%;}
        footer {height: 100px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
      </style>
      
      <!--Style pour le dossier des membres-->
      <link rel="stylesheet" href="cssmembres.css">
    </head>
    <body>
      <!--Design des ancres. Montée et desecende animée-->
      <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/mesfonctions.js"></script>

      <!--PARTIE 1-->
      <br>
        <header>
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                align="right" 
            >
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                 align="left" 
            >
        <br>
            <h1>Tous unis contre le suicide</h1>
            <h2>Mes informations (Mon profil):</h2>
            <?php include ("header/menuprincipal.php");?><!--Affiche le menu dans l'encadré.-->
        </header>
      
<!--PARTIE 2-->
      <section>               
        <div id="menu">
        <h3><?php echo $infos['prenom'];?>, vous vous trouvez sur votre profil... Cette page vous permet un accès rapide à votre dossier et aux dossiers dont vous avez l'autorisation par l'administrateur.</h3>
        <h4>Une partie de la FAQ se rapporte aux fonctionnalités de cette page, n'hésitez pas à aller la lire pour en savoir plus.</h4>
        <br>
        <ul id="menuprofil"><!--Menu pour cette page-->
          <li><a href="#1" class="scroll menuprofila">Accès à mon dossier</a></li>
          <li><a href="#4" class="scroll menuprofila">Accès aux dossiers de mes clients</a></li>
          <li><a href="#2" class="scroll menuprofila">Accès aux dossiers des aides</a></li>
          <li><a href="#3" class="scroll menuprofila">Voir mes informations de connexion</a></li>
        </ul>
        </div>
      </section>
      
<!--PARTIE 3: Dossier du membre-->  
	<div id="1">  
  
    <pre>
      <?php
       //pour voir le contenu de la requête .....
       print_r($infos);
      ?>
      <br>
        <span class="A">
          <h2><u>Mon dossier:</u></h2><!--Affiche les informations du dossier listées dans la table 'membres'-->
            <h4>Ce dossier sera mis à jour par un gestionnaire si celui-ci a été averti de modifications.<br>
          	Vous avez également la permission de modifier vos données conformément aux lois en vigueur.</h4>
        </span>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_membre['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_membre['prenom']; ?></td></tr>
                <tr><td width="50%">Date de naissance:</td><td><?php echo $infos_membre['date_naissance']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_membre['domiciliation']; ?></td></tr>
                <tr><td width="50%">Profession:</td><td><?php echo $infos_membre['profession']; ?></td></tr>
            </table>

            <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription:</td><td><?php echo $infos_membre['dateinscription']; ?></td></tr>
                <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_membre['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_membre['ID']; ?></td></tr>
              	<tr><td width="50%">Statut:</td><td><?php echo $infos_membre['statut']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_membre['email']; ?></td><td width="15%"><?php echo $infos_membre['statutemail']; ?></td></tr> 
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_membre['tel']; ?></td><td width="15%"><?php echo $infos_membre['statuttel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact']; ?></td><td width="15%"><?php echo $infos_membre['statutautre1']; ?></td></tr>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact2']; ?></td><td width="15%"><?php echo $infos_membre['statutautre2']; ?></td></tr>
            </table>
            
            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aides:</caption>
                <tr><td width="50%">Domaines d'aides:</td><td><?php echo $infos_membre['aide']; ?></td></tr>
                <tr><td width="50%">Domaines d'aides supplémentaires:</td><td><?php echo $infos_membre['aidesupp']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_membre['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Finance:</caption>
                <tr><td width="50%">Participation aux frais:</td><td><?php echo $infos_membre['frais']; ?></td></tr>
                <tr><td width="50%">Montant de la participation:</td><td><?php echo $infos_membre['montant']; ?></td></tr>
            </table>
    </pre>
   
  </div>
  
 </body>
</html>


Ma page s'ouvre mais affiche une erreur à chaque endroit où j'ai mis 'echo'...
Voici l'erreur: Notice: Undefined index: nom in /homepages/22/d767857963/htdocs/organisation/V2tousmembres/mesinfos.php on line 125

Je dois surement remplacer la variable $infos_membre[ ' ' ] par une autre variable mais je ne sais pas laquelle. J'ai essayé avec $infos mais ça n'a pas fonctionné.
jordane45
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
1915 > Dnartreb -
Tu continues à sauter les étapes.........

As tu regardé au moins ce que le code que je te donnais t'affichait ????
Sous quelle forme sont les données ????

Au cas où tu ne l'aurais pas compris... ça te retourne un ARRAY avec TOUTES les infos

Il va donc falloir BOUCLER DESSUS ( comme te l'a déjà indiqué Yg_be )...

Tu peux donc utiliser un FOREACH ...
> jordane45
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
-
Je dois donc mettre le code de Yg_be mais l'adapter pour chaque dossier?
Pour afficher le dossier d'un membre, je dois afficher quelque chose comme ceci?
$query = 'SELECT * FROM aide WHERE IDmembre="'.$identifiant_utilisateur.'"'; //Envoyer l'identifiant de l'user à la BDD
        $query = 'SELECT M.*
        FROM membre M WHERE M.ID ="'.$identifiant_utilisateur.'"';
        $reponse = $pdo->query($query);
        $toutes_aides = $reponse->fetchAll();
        foreach ($toutes_aides as $infos_aide) {
        ?>
jordane45
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
1915 > Dnartreb -
La seule chose à reprendre ... c'est le "foreach" ...
mais qu'il faut modifier pour qu'il fonctionne avec l'array que je t'ai donné !

Tu comprends un minimum le code ou tu y vas au pif ?

Il serait bien, pour commencer, que tu nous colles ce que donnes le print_r($infos) que je t'ai mis dans mon code.....
histoire qu'on puisse voir un minimum quelles sont les données ......
> jordane45
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
-
J'essaie de comprendre mais je vais plus au moins au pif...
Quand tu dis que tu veux que je colle les données du print_r($infos), tu veux que je fasse 'echo'? Si oui, il me renvoie: Array ()1

Merci pour ton aide... Comme je l'ai mis plus haut, il s'agit de la tache la plus 'difficile' que je dois effectué. Et comme le site est déjà utilisé, je souhaite que ce soit fait le plus rapidement possible.

PS: J'ai fini pour aujourd'hui... Je rentre demain vers 17h30, je continuerai donc demain soir.
Commenter la réponse de Dnartreb
Messages postés
25047
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2019
1915
0
Merci
Y'a un moment où je vais avoir du mal à être plus clair que je ne le suis..........
Je t'ai donné du code....
Ce code contient déjà l'affichage du contenu de l'array (le résultat de ta requête est stocké dans une variable de type array...)
<pre>
      <?php
       //pour voir le contenu de la requête .....
       print_r($infos);
      ?>
    </pre>

Donc...
Tu prends le code que je t'ai donné....dans ma réponse https://www.commentcamarche.net/forum/affich-35913844-recuperation-donnees-bdd#27

Tu l'exécutes dans ton navigateur

Et tu nous copies colle le résultat......

Il serait bien également que tu nous fournisses un DUMP de ta bdd histoire qu'on connaisse la structure exacte de tes tables...
Et comme je sens que tu vas nous le demander... pour faire un DUMP;. c'est par ici :
https://www.google.com/search?q=dump+mysql+phpmyadmin
Commenter la réponse de jordane45
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451
0
Merci
la bdd est assez simple.
il y a trois parties à afficher successivement et indépendamment:
infos du membre sur base de
SELECT * FROM membres WHERE id=

infos des aides sur base de
SELECT * FROM aide WHERE IDmembre=

infos des clients sur base de
SELECT C.*
FROM clients C, aide A WHERE C.id = A.IDclient
AND A.IDmembre =
> yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
-
Effectivement et ça fonctionne mieux :)
Je vais remettre tout le code de ma page afin que tu vois où j'en suis (car je galère toujours).
<?php 

 //affichage des erreurs PHP
 error_reporting(E_ALL);
 ini_set('display_errors', TRUE);
 ini_set('display_startup_errors', TRUE);

 
 include('haut.php');
 include('membres/debut2.php');
 include('aides/bddaide.php');
 include('clients/debut.php'); 
 
 
//récupération PROPRE des variables AVANT de les utiliser 
$identifiant_utilisateur = !empty($_SESSION['user']['identifiant']) ? $_SESSION['user']['identifiant'] : NULL;

if($identifiant_utilisateur){ //si il y a bien un identifiant utilisateur en session...
 
  $sql = "SELECT A.*
              ,M.*
              ,C.*
        FROM aide A 
        LEFT JOIN membres M ON M.id =A.IDmembre
        LEFT JOIN clients C  ON C.id = M.IDclient
        WHERE A.IDmembre = :user";
  $datas = array(':user'=>$identifiant_utilisateur);
 
  //Execution de la requete
  try{
    $requete = $pdo -> prepare($sql) ;
    $requete->execute($datas) ;
    $infos = $requete->fetchAll(); // on stocke le resultat de la requête dans un array
  }catch(Exception $e){
    // en cas d'erreur :
     echo " Erreur ! ".$e->getMessage();
     echo " Les datas : " ;
     print_r($datas);
  } 
}
?>

<!DOCTYPE html>
<html>
    <head>
      <meta charset="utf-8" />
      <title>Mes informations</title>
      <style>
        body {background: rgba(255,221,95,1);}
        	header {height: 210px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
        	ul#menu_horizontal li { display : inline; padding : 0 0.5em; border: 1px blue;}
        	ul#menu_horizontal {list-style-type : none;}
        		section {text-align:center;}
        		ul#menuprofil {list-style-type : none;} 
        		ul#menuprofil li {display: inline; padding: 2em; border: 0.5px solid black;}
        		.menuprofila {color: blue;}
        		.menuprofila:hover {color: red;}
        		h4 {text-align: center;}
       				h3 {text-align: center;}
        			table {text-align: center;}
        			h2 {text-align: center;}
        				p {text-align: center; margin-left: 2%; margin-right: 2%;}
        footer {height: 100px; border: 2px solid black; text-align: center; padding: 10px; margin: 5px;}
      </style>
      
      <!--Style pour le dossier des membres-->
      <link rel="stylesheet" href="cssmembres.css">
    </head>
    <body>
      <!--Design des ancres. Montée et desecende animée-->
      <script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/mesfonctions.js"></script>

      <!--PARTIE 1-->
      <br>
        <header>
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                align="right" 
            >
            <img src="https://www.tousuniscontrelesuicide.com/fs/Root/duehm-Logo_Rogne.png"
                 alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
                 height="200px" 
                 width="200px"
                 align="left" 
            >
        <br>
            <h1>Tous unis contre le suicide</h1>
            <h2>Mes informations (Mon profil):</h2>
            <?php include ("header/menuprincipal.php");?><!--Affiche le menu dans l'encadré.-->
        </header>
      
<br>            
      
<!--PARTIE 2-->
      <section>               
        <div id="menu">
        <h3><?php echo $infos['prenom'];?>, vous vous trouvez sur votre profil... Cette page vous permet un accès rapide à votre dossier et aux dossiers dont vous avez l'autorisation par l'administrateur.</h3>
        <h4>Une partie de la FAQ se rapporte aux fonctionnalités de cette page, n'hésitez pas à aller la lire pour en savoir plus.</h4>
        <br>
        <ul id="menuprofil"><!--Menu pour cette page-->
          <li><a href="#1" class="scroll menuprofila">Accès à mon dossier</a></li>
          <li><a href="#4" class="scroll menuprofila">Accès aux dossiers de mes clients</a></li>
          <li><a href="#2" class="scroll menuprofila">Accès aux dossiers des aides</a></li>
          <li><a href="#3" class="scroll menuprofila">Voir mes informations de connexion</a></li>
        </ul>
        </div>
      </section>
      
<!--PARTIE 3: Dossier du membre-->  
	<div id="1">  
  
    <pre>
      <?php
       //pour voir le contenu de la requête .....
       print_r($infos);	
	  $query = 'SELECT * FROM membres WHERE id="'.$identifiant_utilisateur.'"';
        $infos_membre = $pdo->query($query)->fetch();
                ?>
      <br>
        <span class="A">
          <h2><u>Mon dossier:</u></h2><!--Affiche les informations du dossier listées dans la table 'membres'-->
            <h4>Ce dossier sera mis à jour par un gestionnaire si celui-ci a été averti de modifications.<br>
          	Vous avez également la permission de modifier vos données conformément aux lois en vigueur.</h4>
        </span>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_membre['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_membre['prenom']; ?></td></tr>
                <tr><td width="50%">Date de naissance:</td><td><?php echo $infos_membre['date_naissance']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_membre['domiciliation']; ?></td></tr>
                <tr><td width="50%">Profession:</td><td><?php echo $infos_membre['profession']; ?></td></tr>
            </table>

            <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription:</td><td><?php echo $infos_membre['dateinscription']; ?></td></tr>
                <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_membre['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_membre['ID']; ?></td></tr>
              	<tr><td width="50%">Statut:</td><td><?php echo $infos_membre['statut']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_membre['email']; ?></td><td width="15%"><?php echo $infos_membre['statutemail']; ?></td></tr> 
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_membre['tel']; ?></td><td width="15%"><?php echo $infos_membre['statuttel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact']; ?></td><td width="15%"><?php echo $infos_membre['statutautre1']; ?></td></tr>
                <tr><td width="20%">Autres:</td><td><?php echo $infos_membre['autrecontact2']; ?></td><td width="15%"><?php echo $infos_membre['statutautre2']; ?></td></tr>
            </table>
            
            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aides:</caption>
                <tr><td width="50%">Domaines d'aides:</td><td><?php echo $infos_membre['aide']; ?></td></tr>
                <tr><td width="50%">Domaines d'aides supplémentaires:</td><td><?php echo $infos_membre['aidesupp']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_membre['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Finance:</caption>
                <tr><td width="50%">Participation aux frais:</td><td><?php echo $infos_membre['frais']; ?></td></tr>
                <tr><td width="50%">Montant de la participation:</td><td><?php echo $infos_membre['montant']; ?></td></tr>
            </table>
    </pre>
  </div>
      <br>
	  <br>
      	<div class="fleche" align="center">
        	<a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           		alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           		height="125px" 
           		width="75px"
          	></a>
        	<p>(Clic sur la flèche pour retourner en haut de page)</p>
      	</div>
	  <br>   



<!--PARTIE 4: Dossier aide-->
  <div id="2">       
    <br>
        <?php
        $query = 'SELECT * FROM aide WHERE IDmembre="'.$identifiant_utilisateur.'"';
        $reponse = $pdo->query($query);
		$toutes_aides = $reponse->fetchAll();
        foreach ($toutes_aides as $infos_aide) {
        ?>
        <br>
        <section>
        <h2><u>Dossiers aides:</u></h2>
        <h3>Informations générales:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Numéro de l'aide:</th><th><?php echo $infos_aide['numero']; ?></th></tr>
            <tr><th>Statut de l'aide</th><th><?php echo $infos_aide['statut']; ?></th></tr>
            <tr><th>Date du début de l'aide:</th><th><?php echo $infos_aide['debut']; ?></th></tr>
            <tr><th>Date de fin de l'aide:</th><th><?php echo $infos_aide['fin']; ?></th></tr>
        </table>
        <br>
        <h3>Informations générales avancées:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Prénom du client:</th><th><?php echo $infos_aide['prenomclient']; ?></th></tr>
            <tr><th>ID du client:</th><th><?php echo $infos_aide['IDclient']; ?></th></tr>
            <tr><th>Prénom du membre:</th><th><?php echo $infos_aide['prenommembre']; ?></th></tr>
            <tr><th>ID du membre:</th><th><?php echo $infos_aide['IDmembre']; ?></th></tr>
        </table>
        <br>
        <h3>Informations sur l'aide:</h3>
        <table border=2 width=70% align="center" cellspacing=0 cellpadding=1> 
            <tr><th>Raison de l'aide:</th><th><?php echo $infos_aide['raisonaide']; ?></th></tr>
          <tr><th>Consultez les photos, etc. de l'aide</th><th><a href="0119001doc.php">Cliquez-ici</a></th></tr>
          <tr><th>Consultez les rapports journaliers:</th><th><a href="0119001rapport.php>">Cliquez-ici</a></th></tr>
        </table>
      </section>
     <?php } ?>
  </div>
  <br>
  <br>
      <?php foreach ($toutes_aides as $infos_aide) { ?> 
     <?php } ?>
  <br>
  <br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
  <br>
  <br>
      
<!--PARTIE 6: Dossier client-->
  <div id="4">    
    <br>
        <?php 
        $query = 'SELECT C.*
			FROM clients C, aide A WHERE C.id = A.IDclient
			AND A.IDmembre = "'.$identifiant_utilisateur.'"';
        $reponse = $pdo->query($query);
        $tous_clients = $reponse->fetchAll();
        foreach ($tous_clients as $infos_clients) {
        ?>
        <br>
        <span class="A">
          <h2><u>Dossier client:</u></h2>
            <h3>Sur cette page vous trouverez le dossier de <?php echo $infos_client['prenom']; ?> <?php echo $infos_client['nom']; ?>.</h3>
            <h4>Ce dossier sera mis à jour uniquement si nos services ont été mis au courant de modifications.</h4>
    
    <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Informations générales:</caption>
                <tr><td width="50%">Nom:</td><td><?php echo $infos_client['nom']; ?></td></tr>
                <tr><td width="50%">Prénom:</td><td><?php echo $infos_client['prenom']; ?></td></tr>
                <tr><td width="50%">Âge:</td><td><?php echo $infos_client['age']; ?></td></tr>
                <tr><td width="50%">Domiciliation:</td><td><?php echo $infos_client['domiciliation']; ?></td></tr>
            </table>

          <br>
            <table border="1" width="90%" align="center" cellspacing="0" cellpadding="1">
                <caption>Informations supplémentaires:</caption>
                <tr><td width="50%">Date d'inscription*:</td><td><?php echo $infos_client['dateinscription']; ?></td></tr>
        <tr><td width="50%">Dernière mise à jour:</td><td><?php echo $infos_client['mise_a_jour']; ?></td></tr>
                <tr><td width="50%">ID:</td><td><?php echo $infos_client['id']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact:</caption>
                <tr><td width="45%">Adresse email:</td><td><?php echo $infos_client['email']; ?></td></tr>
                <tr><td width="45%">Téléphone:</td><td><?php echo $infos_client['tel']; ?></td></tr>
            </table>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Points de contact supplémentaire:</caption>
                <tr><td width="25%">Autres:</td><td width="25%"><?php echo $infos_client['contact']; ?></td><td>/</td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Divers:</caption>
                <tr><td width="50%">Commentaires éventuels:</td><td><?php echo $infos_client['commentaire']; ?></td></tr>
            </table>

            <br>
            <table border=1 width=90% align="center" cellspacing=0 cellpadding=1>
                <caption>Aide:</caption>
                <tr><td width="50%">Numéro(s) d'aide(s) attribué(s):</td><td><?php echo $infos_client['numeroaide']; ?></td></tr>
            </table>

            </span>

        <p>*: Date d'inscription est égal à la date du premier contact.</p>
          <?php } ?>
  </div>
  <br>
  <br>
      
      <?php foreach ($tous_clients as $infos_clients) { ?>
      <?php } ?>
  <br>
      <div class="fleche" align="center">
        <a href="#menu" class="scroll menuprofila"><img align="center" src="fleche.png"
           alt="[ABC Tech posssède 75% de part de marché et XYZ 25%]"
           height="125px" 
           width="75px"
          ></a>
        <p>(Clic sur la flèche pour retourner en haut de page)</p>
      </div>
  <br>
  
 </body>
</html>


Le dossier membre s'affiche correctement, les dossiers aides s'affichent correctement et enfin les dossiers clients s'affichent correctement aussi...
Donc ça fonctionne comme je le souhaite mais...

-->J'ai encore une erreur (qui n'étais pas présente quand j'ai demandé de l'aide) tout au dessus de ma page: Notice: Undefined variable: identifiant in /homepages/22/d767857963/htdocs/organisation/V2tousmembres/haut.php on line 42
Cette page (haut.php) à été faite par un développeur et est utilisée sur tout mon site pour obliger une connexion à chaque page du site. (En cas de non-connexion, il y a une redirection vers la page de connexion).
Qu'est-ce qui peut provoquer cette erreur?

--> Sur ma page, juste en dessous du deuxième menu (se trouvant vers la ligne 100 dans le code), j'ai un petit bout de code qui me gêne... Il est affiché: Array
(
)
D'où vient t'il et comment l'enlever?


Je te remercie car ça fait presque 1semaine que tu m'aides à faire ce que je voulais (qui n'étais pas si compliqué). Tu as une grande patience...
yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451 > Dnartreb -
pour supprimer le texte array qui te gêne, je pense qu'il suffit de supprimer la ligne 117.
nous as-tu montré le code de la page haut.php? je suspecte que l'erreur était déjà présente dans haut.php, mais était cachée. suivant les judicieux conseils de Jordane, tu as fait quelques changements qui te montrent les erreurs cachées. le moment est donc venu de les corriger réellement.
> yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
-
Un problème de plus règler...

Voici ma page haut.php:
<?php
    ob_start();
    session_start();
    $current_page = basename($_SERVER['PHP_SELF']);
    if($current_page !="index.php" && $current_page != "connexion.php" && !isset($_SESSION['user'])) {
        header('Location: connexion.php'); 
    }
?>
<style>
    html, body {
        margin: 0;
        padding: 0;
    }
    .bandeau {
        padding: 10px;
        width: 100%;
        color: white;
        text-align: center;
        margin-bottom: 20px;
        font-weight: bold;
        font-family: "Comic Sans MS", cursive, sans-serif;
    }
  
  	.bandeau-alert{
     background-color: rgba(2,158,170,1);
    }
  
    .bandeau-error{
        background-color: #d92626;
    }
    
    .bandeau-success{
        background-color: #33A13B;
    }
</style>
<?php
    $host = 'db769901296.hosting-data.io';
    $database = 'db769901296';
    $username = 'dbo769901296';
    $password = 'MON MDP';
    try {
        $dbh = new PDO("mysql:host=$host;dbname=$database", $username, $password, $identifiant);
        $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch (PDOException $e) {
        print "Erreur !: " . $e->getMessage() . "<br/>";
        die();
    }

    function test_connexion($dbh, $username, $password, $identifiant) {
        $stmt = $dbh->prepare("SELECT * FROM users WHERE username=:username AND password=:password AND identifiant=:identifiant");
        $stmt->bindParam(':username', $username);
        $stmt->bindParam(':password', md5($password));
      	$stmt->bindParam(':identifiant', $identifiant);
        $stmt->execute();
        $row = $stmt->fetchAll(); // return false
        return $row;
    }

    function add_user($dbh, $username, $password, $identifiant) {
        try {
            $stmt = $dbh->prepare("INSERT INTO users (username, password, role, identifiant) VALUES(:username, :password, 1, :identifiant)");
            $stmt->bindParam(':username', $username);
            $stmt->bindParam(':password', md5($password));
          	$stmt->bindParam(':identifiant', $identifiant);
            $stmt->execute();
            return false;
        } catch(Exception $e) {
            return false;
        }
    }    

    function update_password($dbh, $username, $password) {
        try {
            $stmt = $dbh->prepare("UPDATE users SET password=:password WHERE username=:username");
            $stmt->bindParam(':username', $username);
            $stmt->bindParam(':password', md5($password));
            $stmt->execute();
            return true;
        } catch(Exception $e) {
            return false;
        }
    }

	function update_IP($dbh, $username) {
        try {
             $ip = get_ip();
            $stmt = $dbh->prepare("UPDATE users SET adresse_ip=:adresse_ip WHERE username=:username");
            $stmt->bindParam(':username', $username);
            $stmt->bindParam(':adresse_ip', $ip);
            $stmt->execute();
            return true;
        } catch(Exception $e) {
            echo " <br><b>Erreur !!</b> " .$e->getMessage();
            echo " <br>Datas : <br> IP : ". $ip . "<br> username : " .  $username ; 
             return false;
        }
    }
?>

<?php 
     // Récupérer la véritable adresse IP d'un visiteur
    function get_ip() {
    	// IP si internet partagé
    	if (isset($_SERVER['HTTP_CLIENT_IP'])) {
    		return $_SERVER['HTTP_CLIENT_IP'];
    	}
    	// IP derrière un proxy
    	elseif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    		return $_SERVER['HTTP_X_FORWARDED_FOR'];
    	}
    	// Sinon : IP normale
    	else {
    		return (isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '');
    	}
    }
    ?>
yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
451 > Dnartreb -
je suggère de supprimer
, $identifiant
de la ligne 42 de haut.php.
> yg_be
Messages postés
7583
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
26 mars 2019
-
Ca marche... Je me demande pourquoi il a mis ça mais bon.
Je te remercie pour tout le temps que tu m'as confié!!
Commenter la réponse de yg_be