Récupérer le ID des mebres avec php

Bonjour,

J'ai créé un formulaire qui permettra aux membres enregistré dans mon site de faire les mises à jour et modifier leurs infos, alors j'ai déjà fini ma requête sql mais j'ai un problème pour récupérer le ID de l'utilisateur correspondant pour faire la mise à jour uniquement dans sa table.

Voyez à quoi ressemble ce que j'ai fais mais ça ne fonctionne pas.

  $sql = 'UPDATE 'mabase'.'membres' SET 'nom' = "'.mysql_escape_string($_POST['nom']).'",'prenom' = "'.mysql_escape_string($_POST['prenom']).'",'privilege' = "'.mysql_escape_string($_POST['privilege']).'",'email' = "'.mysql_escape_string($_POST['email']).'",'telephone' = "'.mysql_escape_string($_POST['telephone']).'",  
'fonction_tech' = "'.mysql_escape_string($_POST['fonction_tech']).'" WHERE 'agent'.'.intval($_GET['u']).'';


j'ai essayé d'utiliser $_GET['u'] le u correspond à l'id. :-)

4 réponses

  1. Contributeur
    Hello,
    cette partie-ci :
    '" WHERE 'agent'.'.intval($_GET['u']).'';

    semble poser problème au niveau des apostrophes et des points.
    Aussi ta condition WHERE n'en est pas une.
    1. Salut ! (encore moi ;) )

      Es-tu sûr que tu récupère ta valeur avec la variable
       $_GET['u']
      , ça ne serait pas plutot avec la variable
      $_POST['u']

      Et comme le dis BloodyAngel ta clause WHERE n'en est pas une tu ecris '
      " WHERE 'agent'.'.intval($_GET['u']).'';

      Ca devrait être un truc du genre
      '" WHERE 'agent'.'.intval($_GET['u']).'='.$_SESSION['u'];
      1. Stringman encore toi ;) Thanks,

        '" WHERE 'agent'.'.intval($_GET['u']).'='.$_SESSION['u'];


        Au j'ai essayé cette méthode ça me renvoie une erreur que la variable u n'existe pas.
        Notice: Undefined index: u in C:\wamp\www\internetservices\modifierAgent.php on line 6 
        


        Je ne pense pas que ça serai avec la méthode
        $_POST
      2. Ton formulaire tu l'envoie en POST ou en GET ?

        Vois le conseil de dream666 pour faire correctement ta requête ;)
    2. bonjour,
      Faut passer par les sessions
      cela permet de garder son id tant que le navigateur n'ai pas fermer

      faut sélectionner dans la table par rapport a son id de session

      Il y a un exemple d'utilisation de session ici pris au hasard
      https://phpsources.net/tutoriel-sessions.htm
      1. Merci mais dans le tuto ce n'est pas vraiment ce que je veux.
      2. Comment fais-tu alors pour savoir l'utilisateur qui est connecté, sur quel utilisateur il faut faire la mise à jour?
    3. Contributeur
      Lis bien les commentaires de Stringman621 et dream666. Ils t'expliquent exactement comment corriger ton code.
      Informe-toi sur les sessions. C'est la procédure la plus simple, sûre et efficace pour garder des infos sur l'utilisateur d'une page à l'autre.

      Une fois que tu seras sûr d'avoir récupéré l'id de l'utilisateur avec les sessions, utilises la correction de Stringman dans ta requête et ça devrait bien se passer.

      Si tu veux plus d'infos sur les sessions, tu as trois excellents tutos ici :
      https://php.developpez.com/cours/?page=securite#sessions

      Renseignes-toi bien sur les sessions. Ce sont des éléments indispensables pour tous les sites qui gèrent correctement leurs utilisateurs.
      1. ^^ Merci !!!