Probleme d'insertion dans une base de données [Résolu/Fermé]

Signaler
Messages postés
472
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
25 septembre 2013
-
powerguitou
Messages postés
472
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
25 septembre 2013
-
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

Messages postés
100
Date d'inscription
dimanche 14 novembre 2010
Statut
Membre
Dernière intervention
2 septembre 2014

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.
Messages postés
472
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
25 septembre 2013
22
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
Messages postés
100
Date d'inscription
dimanche 14 novembre 2010
Statut
Membre
Dernière intervention
2 septembre 2014

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...
Messages postés
472
Date d'inscription
vendredi 24 juillet 2009
Statut
Membre
Dernière intervention
25 septembre 2013
22
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