Gestion des données utilisateurs

Signaler
Messages postés
16
Date d'inscription
mercredi 11 décembre 2019
Statut
Membre
Dernière intervention
10 janvier 2020
-
samyb2313
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
15 janvier 2020
-
Bonjour chers membres, j'ai besoin d'aide.

En fait j'ai crée une plateforme qui permet aux utilisateurs de se connecter, de saisir des données et de les afficher, le problème est que chaque utilisateur voit les données des autres, ce qui pose un problème de sécurité. Maintenant je veux que chaque utilisateur ne voit que les données qu'il a saisi, je veux un bout de code qui permet de faire cela.
Merci d'avance!

5 réponses

Messages postés
9329
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 janvier 2020
488
bonjour,
je suggère d'enregistrer, avec les données, l'identification du propriétaire. et d'adapter l'affichage des données.
Messages postés
16
Date d'inscription
mercredi 11 décembre 2019
Statut
Membre
Dernière intervention
10 janvier 2020

Bonjour et merci mais vous avez juste donné la théorie; je veux un code qui permet de faire cela. Si quelqu'un peut m'aider SVP!
samyb2313
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
15 janvier 2020
5
Donne nous plus d'information :

Les données sont en base de données ou est ce des répertoires d'accès pour les utilisateurs ?
Comment enregistres tu et gères tu l'authentification des utilisateurs ?
Les données enregistrées pour chaque utilisateur sont reliés par quel mécanisme aux utilisateurs ?
yg_be
Messages postés
9329
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 janvier 2020
488
difficile de te suggérer comment adapter le code que tu as créé, puisque tu ne l'as pas partagé.
Messages postés
16
Date d'inscription
mercredi 11 décembre 2019
Statut
Membre
Dernière intervention
10 janvier 2020

Bonjour, merci samyb2313,

Les données sont enregistrées dans une base de données.
Chaque utilisateur a un login et un mot de pass pour se connecter, au moment de la création des paramètres de connexion aussi on lui affecte à une agence.
Ils ont comme option enregistrer des données dans la base et les afficher.
Après l'authentification il est redirigé vers un espace ou on lui de saisir une commande via un formulaire ou d'afficher la liste des commandes commandes.
Maintenant au moment du saisi on lui demande de choisir une agence via une liste déroulante alors qu'elle s'est déjà s'authentifié et à l'affichage on lui montres la liste de toutes les commandes y compris celles saisies par les autres utilisateurs. Maintenant j'ai deux questions:

1-Ne pas demander à l'utilisateur le nom de l'agence au moment de la saisie mais c'est le système lui même qui lui dit que par exemple "Vous êtes un agent de telle agence" et il rempli le formulaire.

2-Ne lui montrer que les données qu'il a saisi au moment de l'affichage.
Messages postés
16
Date d'inscription
mercredi 11 décembre 2019
Statut
Membre
Dernière intervention
10 janvier 2020

Voici les codes:

formulaire d'enregistrement :
<html>
     <head>
  
<h1>Enrer une nouvelle commande</h1>
        
        <form action="commande.php" method="post">
  <div class="c100">
                <label for="agence">Agence : </label>
                <input type="varchar" id="agence" name="agence">
            </div>
   <div class="c100">
                <label for="nomagent">Nom de l'agent : </label>
                <input type="varchar" id="nomagent" name="nomagent">
            </div>
  <div class="c100">
                <label for="datecommande">Date commande : </label>
                <input type="date" id="datecommande" name="datecommande">
            </div>
            <div class="c100">
                <label for="numerocompte">N° Compte Client : </label>
                <input type="varchar" id="numerocompte" name="numerocompte">
            </div>
            <div class="c100">
                <label for="prenom">Prenom : </label>
                <input type="varchar" id="prenom" name="prenom">
            </div>
            <div class="c100">
                <label for="nom">Nom : </label>
                <input type="varchar" id="nom" name="nom">
            </div>
   
   <div class="c100">
                <label for="montant">Montant : </label>
                <input type="float" id="montant" name="montant">
            </div>
   <div class="c100">
                <label for="acompte">Acompte : </label>
                <input type="float" id="acompte" name="acompte">
            </div>
   <div class="c100">
                <label for="solde">Solde : </label>
                <input type="float" id="solde" name="solde">
            </div>
   <div class="c100">
                <label for="datenvoie">Date Envoie : </label>
                <input type="date" id="datenvoie" name="datenvoie">
            </div>
   
            <div class="c100">
                <input type="checkbox" id="statut" name="statut" value="envoie">
                <label for="statut">Envoie</label>
                
            </div>
            
            <div class="c100" id="submit">
                <input type="submit" value="Envoyer">
            </div>
        </form>
</html>


 <?php
    $serveur = "localhost";
    $dbname = "suivicommande";
    $user = "root";
    $pass = "";
    
    $agence = $_POST["agence"];
 $nomagent = $_POST["nomagent"];
 $datecommande = $_POST["datecommande"];
    $numerocompte = $_POST["numerocompte"];
    $prenom = $_POST["prenom"];
    $nom = $_POST["nom"];
    $montant = $_POST["montant"];
    $acompte = $_POST["acompte"];
 $solde = $_POST["solde"];
    $datenvoie = $_POST["datenvoie"];
    $statut = $_POST["statut"];
 /*$date_reception_log = $_POST["date_reception_log"];
 $date_livraison_client = $_POST["date_livraison_client"];*/

    
    try{
        //On se connecte à la BDD
        $dbco = new PDO("mysql:host=$serveur;dbname=$dbname",$user,'');
        $dbco->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
        //On insère les données reçues
        $sth = $dbco->prepare("
            INSERT INTO commande(datecommande, numerocompte, prenom, nom, monture, montant, acompte, solde, datenvoie, statut, agence, nomagent)
            VALUES(:datecommande, :numerocompte, :prenom, :nom, :monture, :montant, :acompte, :solde, :datenvoie, :statut, :agence, :nomagent)");
        $sth->bindParam(':datecommande',$datecommande);
        $sth->bindParam(':numerocompte',$numerocompte);
        $sth->bindParam(':prenom',$prenom);
  $sth->bindParam(':nom',$nom);
  $sth->bindParam(':monture',$monture);
  $sth->bindParam(':montant',$montant);
  $sth->bindParam(':acompte',$acompte);
  $sth->bindParam(':solde',$solde);
  $sth->bindParam(':datenvoie',$datenvoie);
  $sth->bindParam(':statut',$statut);
     $sth->bindParam(':agence',$agence);
     $sth->bindParam(':nomagent',$nomagent);

  /*$sth->bindParam(':date_reception_log','');
  $sth->bindParam(':date_livraison_client','');*/


        $sth->execute();
        
        //On renvoie l'utilisateur vers la page de remerciement
        header("Location:choixaction.html");
    }
    catch(PDOException $e){
        echo 'Impossible de traiter les données. Erreur : '.$e->getMessage();
    }
?>


lsite d'affichage

<html>
     <head>

   <meta charset="utf-8"/>
   <link rel="stylesheet" href="inscription.css"/>
   </head>
<h1>Agence</h1>
        
        <form action="redirectionagence.php" method="post">
            
            <div class="c100">
                <label for="pays">Choisir votre agence :</label>
                <select id="agence" name="agence">
    <option>Agence...</option>
                    <optgroup label="D">
                        <option value="B">B</option>
                        <option value="Pa">Pa</option>
                        </option>  
                    </optgroup>
                    <optgroup label="T">
                        <option value="Th">Th</option>
                        
                    </optgroup>
                    <optgroup label="K">
                        <option value="ko">ko</option>
                    </optgroup>

     
                </select>
            </div>
            <div class="c100" id="submit">
                <input type="submit" value="Envoyer">
            </div>
        </form>
</html>

redirectionagence.php
<?php 
$agence=$_POST["agence"];
if($agence=="agence...")
{
    echo("choisir une agence<br>");
    echo("<a href='choisiragence.html'>RETOURNER</a>");
} 
else if($agence=="B")
  header("location:affichb.php");
else if($agence=="Pa")
  header("location:affichpa.php");
);
else if($agence=="T")
  header("location:affichth.php");
else if($agence=="k")
  header("location:affichkk.php");
  header("location:affichrt.php");
;
else
  header("location:affichzg.php");
?>
yg_be
Messages postés
9329
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 janvier 2020
488
c'est un peu compliqué parce que tu ne donnes pas les noms de tes fichiers.
tu écris "on lui demande de choisir une agence via une liste déroulante": cela se passe dans quel fichier?
peux-tu montrer la page qui fait l'authentification?
Messages postés
52
Date d'inscription
mercredi 23 février 2011
Statut
Membre
Dernière intervention
15 janvier 2020
5
Pour résoudre une partie de tes problèmes, il faudrait je ne sais pas si c'est le cas
1- Que tu ais l'information d'appartenance à l'agence dans ta base de données
2- A la connexion, tu récupères cette info et tu la stock dans une variable de session
$_SESSION['agence'] = $id_agence;

Ou que tu ais une fonction
$utilisateur->getAgence();

A la place de ton select tu mettrai
Agence : <?php echo $utilisateur->getAgence(); ?>


si tu veux garder l'info dans le formulaire
tu ajoutes :
<input type=hidden  value=<?php echo $utilisateur->getAgence(); ?> />


C'est très grossier ce que je te donne comme info, c'est une idée générale