Gestion des données utilisateurs

Fermé
binousha_1022 Messages postés 41 Date d'inscription mercredi 11 décembre 2019 Statut Membre Dernière intervention 25 juin 2020 - 2 janv. 2020 à 16:40
samyb2313 Messages postés 52 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 15 janvier 2020 - 14 janv. 2020 à 09:58
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

yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 471
2 janv. 2020 à 16:54
bonjour,
je suggère d'enregistrer, avec les données, l'identification du propriétaire. et d'adapter l'affichage des données.
0
binousha_1022 Messages postés 41 Date d'inscription mercredi 11 décembre 2019 Statut Membre Dernière intervention 25 juin 2020
9 janv. 2020 à 10:47
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!
0
samyb2313 Messages postés 52 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 15 janvier 2020 5
9 janv. 2020 à 12:24
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 ?
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 471
9 janv. 2020 à 12:40
difficile de te suggérer comment adapter le code que tu as créé, puisque tu ne l'as pas partagé.
0
binousha_1022 Messages postés 41 Date d'inscription mercredi 11 décembre 2019 Statut Membre Dernière intervention 25 juin 2020
10 janv. 2020 à 10:41
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.
0
binousha_1022 Messages postés 41 Date d'inscription mercredi 11 décembre 2019 Statut Membre Dernière intervention 25 juin 2020
Modifié le 10 janv. 2020 à 11:17
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");
?>
0
yg_be Messages postés 22708 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 avril 2024 1 471
Modifié le 10 janv. 2020 à 13:25
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?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
samyb2313 Messages postés 52 Date d'inscription mercredi 23 février 2011 Statut Membre Dernière intervention 15 janvier 2020 5
Modifié le 14 janv. 2020 à 10:01
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
0