|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre régulier
![]() Inscription : août 2007 Messages : 147 ![]() |
Bonjour à tous
je suis en train de faire un ch'ti site , sécurisé par un password, donc, Code :
En effet, quand l'utilisateur entre ses coordonnées, les données rentrées remplacent toutes les données des utilisateurs précedents. Je n'arrive pas a trouver l'astuce pour limiter les entrées qui ne concernent que les utilisateurs en question. Code :
Si vous pouvez me donner deja un début de piste, ca serait super sympa Merci a vous Cordialement |
||||
|
|
00
|
|
|
#2 | |
|
Membre actif
![]() |
Citation:
sans condition where précise tu updates toute ta table.... après ça dépend de comment tu as organisé ta table pour répérer l'utilisateur... (avec un champ qui prend de faire le lien...)
__________________
Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant. Spidercochon, spidercochon, il peut marcher au plafond ...MM ......Voici Spidercochon. Aidez le à conquérir le monde E(....)~....en le reproduisant. ...w |
|
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : août 2007 Messages : 147 ![]() |
Merci Léortien
En fait j'ai une table qui contient les variables utilisateurs, et une autre table qui contient les commandes de l'utilisateur..... mais je n'ai pas de relation de l'une a l'autre est ce que je devrai mettre qq chose du genre merci encore a toi cordialement |
|
|
00
|
|
|
#4 | ||
|
Membre actif
![]() |
si tu as un champ login dans ta table 'crea_tbl' ce serait mieux à mon avis
et ce serait plus un : Code :
mais si comme tu dis il n'y a vraiment aucune relation entre les tables il faudra en rajouter une pour pouvoir faire le lien (du genre login comme tu le suggères) (sur tu regardes des petits trucs sur les bdd tu verras une histoire de clef externe)
__________________
Tout le monde savait que c'était impossible. Il est venu un imbécile qui ne le savait pas et qui l'a fait. (\ _ /) (='.'=) Voici Lapinou. Aidez le à conquérir le monde (")-(") en le reproduisant. Spidercochon, spidercochon, il peut marcher au plafond ...MM ......Voici Spidercochon. Aidez le à conquérir le monde E(....)~....en le reproduisant. ...w |
||
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : septembre 2006 Messages : 146 ![]() |
Déjà le plus astucieux il me semble serait de créer une table de clients et une table de commandes.
Quand un client finalise sa commande, tu vérifies si il existe déjà en comparant certains champs (prénom, nom, ville) en faisant attention à ne pas être sensible à la casse et aux accents. Si le client n'existe pas tu créé un nouvel enregistrement. Si le client existe tu récupère l'id. Après tu insère la commande dans ta table de commandes ou tu a un champ idx_client qui contient l'id du client. Code :
INSERT INTO table (champ1, champ2, ..., idx_client) VALUES ('bla', 'blabla', ..., $idxClient) Après si tu veux modifier une commande tu recupére l'id de la commande et après tu fais un UPDATE avec WHERE id_commande=$idCommande. Si tu veux afficher toutes les commandes d'un client, tu recupères tes clients et pour chaque client tu fais SELECT xxx FROM t_commandes WHERE idx_client=$idClient.
__________________
Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres... |
|
|
00
|
|
|
#6 | |
|
Membre régulier
![]() Inscription : août 2007 Messages : 147 ![]() |
Merci a vous
Je me sens deja moins seul.... Citation:
Cordialement |
|
|
|
00
|
|
|
#7 | ||||
|
Membre régulier
![]() Inscription : septembre 2006 Messages : 146 ![]() |
Citation:
Je ne sais pas quelles sont tes connaissances en bases de données, mais sache qu'on ne peut avoir deux enregistrements identiques. C'est pour cela qu'on utilise un identifiant (id). Le plus simple est de prendre un int en auto incrément, comme ca il est vraiment unique. Ensuite, si j'ai bien compris, l'utilisateur peut s'authentifier ? Dans ce cas, au moment de l'identification, tu récupères ses informations, dont l'id, et les places dans des variables de session par exemple. Si l'utilisateur n'existe pas dans la base il faut qu'il se créé un compte. (j'imagine, je ne connais pas le contexte de l'outil) Une des variables de session vas contenir l'id et c'est celle-ci que tu dois utiliser pour indiquer à chaque commande à quel client elle appartient. Donc si tu place l'id dans $_SESSION['login'], alors ca te donne : Code :
Citation:
- Rapidité d'exécution - Le client comprend peut être pas qu'il doit tout valider Soit tu ajoutes au fur et a mesure dans la BDD. - Peut-être plus facile à manipuler et plus sûr - Assez lourd
__________________
Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres... |
||||
|
|
00
|
|
|
#8 | ||||
|
Membre régulier
![]() Inscription : août 2007 Messages : 147 ![]() |
ca avance....
pour recapituler, voici mes modifications j'ai bien créé ce champ dans la base de commande(crea_tbl) et Code :
mais, meme comme ca, ca me change tout les entrées precedentes. L'ensemble du code donne ceci Code :
merci encore à vous Cordialement |
||||
|
|
00
|
|
|
#9 |
|
Membre régulier
![]() Inscription : septembre 2006 Messages : 146 ![]() |
Tu utilises comme id le pseudo de l'utilisateur. Je prendrais plutôt un chiffre incrémenté automatiquement lorsque tu insère l'utilisateur dans la base.
Avantages : - Un utilisateur peut changer de pseudo et la liaison entre les tables et conservées - On est à 100% sur de ne pas avoir de doublons qui pourraient poser de grands problèmes Pour ajouter le champ, voici la requête mysql à exécuter dans phpmyadmin, supprimer toutes les autres clés primaires avant. Code :
ALTER TABLE `crea_tbl` ADD `id_client` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST ; Ensuite quand le client veut s'enregistrer, il met son login et son mot de passe. Tu cherche dans la base, tu compare les mots de passe. Si c'est ok, tu récupère l'id que tu met dans la variable $_SESSION['id_client']. C'est celle-ci que tu utilisera par la suite pour savoir quel utilisateur est enregistré. Ensuite la page que tu a copiée, c'est la page qui permettrais à l'utilisateur de modifier ses informations ? Dans tous les cas la première instruction est fausse. $login n'est pas défini, donc tu vide ta variable de session... La page d'ajout d'utilisateur fonctionne-t-elle ? T'a déjà fait les fonctions de login ? T'a déjà la page d'ajout de commandes ?
__________________
Il y a 10 types de personnes, celles qui connaissent le binaire, et les autres... |
|
|
00
|
|
|
#10 | ||||||
|
Membre régulier
![]() Inscription : août 2007 Messages : 147 ![]() |
Eh ben.... c'est pas simple....
Je recapitule ... en ce moment j'en suis là, ici je pense que je déclare ma variable ....à la suite de l'enregistrement du visiteur Ca fonctionne, il est bien inscrit. Code :
la page ajout, fonctionne, le panier se remplie bien, et, je mets ca Code :
Code :
merci a vous Cordialement et....Joyeux Noel |
||||||
|
|
00
|
|
|
#11 | ||
|
Membre régulier
![]() Inscription : août 2007 Messages : 147 ![]() |
Je crois que j'ai trouvé un début de solution, a savoir que j'ai mis ceci en haut des pages et je recupere bien ma variable que je peux inserrer dans ma base client....
Code :
![]() JOYEUX NOEL A TOUS ET TOUTES |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com