Probleme d'insertion dans une base de données

Résolu/Fermé
powerguitou Messages postés 472 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 29 janvier 2021 - 18 mai 2013 à 00:05
powerguitou Messages postés 472 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 29 janvier 2021 - 20 mai 2013 à 04:09
bonsoir à tous,
je commence a crée un espace membres sur mon site,ma manière de procéder est la suivante:

les futur membres entre leur adresse email et valide, un mail leur est envoyer et je crée au même moment un id utilisateur et enregistre leur adresse mail dans ma bdd + un compte active=0.
Il reçoive le mail clic sur le lien pour activer le compte, la on arrive sur une page ou le compte s'active (ça fonctionne) et sur cette même page j'ai un formulaire pour entré un mot de passe et un pseudo pour pouvoir ce connecter au site par la suite.
Après validation du formulaire je devrais avoir dans ma base de données leur id utilisateur mot de passe pseudo adresse mail compte activer=1.Le problème est que je n'arrive pas enregistré le pseudo et le mot de passe, et j'avoue ne pas comprendre pourquoi....

Voila la requête qui est exécuter:

if(isset($_SESSION["ID_UTILISATEUR"])){

$req= 'INSERT INTO Comptes_Utilisateurs (Nom_Utilisateur,Mot_de_Passe)
VALUES
("'.$_POST['Mon_Pseudo'].'","'.$_POST['Mot_de_Passe'].'") WHERE ID_Utilisateur = '.$_SESSION['ID_UTILISATEUR'];

echo $req;

}
else echo 'session pas ouverte';

En réponse sur ma page voila ce qui s'affiche:
INSERT INTO Comptes_Utilisateurs (Nom_Utilisateur,Mot_de_Passe) VALUES ("monpseudo","monmotdepasse") WHERE ID_Utilisateur = 47

Donc c'est l'écho que je fait sur ma requête il récupère bien les infos pseudo,pass,et id.
je vois pas trop ou ça coince...????

Merci a qui ce penchera sur mon problème

4 réponses

Kev-sky62 Messages postés 101 Date d'inscription dimanche 14 novembre 2010 Statut Membre Dernière intervention 23 juillet 2020 1
18 mai 2013 à 11:20
Je trouve que c'est pas sécurisé de faire comme ça... Après peut-être que je me trompe, je ne suis pas expert et je ne procède pas de cette façon...
En faite ce qui se passe, c'est que ta variable est une chaine de caractère forcément, le echo ne renvoie que le contenu de ta variable... Tu n'interagis pas avec ta BD.
0
powerguitou Messages postés 472 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 29 janvier 2021 29
18 mai 2013 à 14:18
Hello,
A quel moment ce n'est pas sécurisé, j'oubliais de dire je crée aussi une clé d'activation généré à l'inscription qui est retransmise à l'activation du compte.
Le écho je l'est fait uniquement pour voir si il récupère bien les donnée post et l'id.
Mais le insert into je ne comprend quand même pas pourquoi il ne fait pas sont travail..
Pour info je débute dans tout ce qui est base de donnée alors je n'avoue ne pas tout comprendre.
merci en tout cas
0
Kev-sky62 Messages postés 101 Date d'inscription dimanche 14 novembre 2010 Statut Membre Dernière intervention 23 juillet 2020 1
18 mai 2013 à 17:49
Il ne fait pas son travail car tu ne fais que dire à PHP: "exécute une opération qui n'est pas redirigé sur MySQL"... Vois les fonctions mysql en interraction avec PHP, le PDO etc...
0
powerguitou Messages postés 472 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 29 janvier 2021 29
20 mai 2013 à 04:09
Bon j'ai finalement trouver la méthode, donc je post ici cela pourra peut être aider quelqu'un d'autre.

$req="UPDATE 'Comptes_Utilisateurs' SET 'Nom_Utilisateur' = '".$_POST["Mon_Pseudo"]."',
'Mot_de_Passe' = '".$_POST["Mot_de_Passe"]."' WHERE 'Comptes_Utilisateurs'.'ID_Utilisateur'=".$_SESSION["ID_UTILISATEUR"]."";

Voila ça fonctionne impec
0