Modifier une base de données avec un bouton

Fermé
Diche - 15 juil. 2023 à 22:19
 Jerome - 1 sept. 2023 à 13:00

Bonjour,

J'aurais besoin d'aide pour modifier une base de données.

Il se trouve que je dois coder une page "myaccount" ou les informations d'un utilisateur seront afficher en les récupérant dans ma base de données (cette partie fonctionne). Là où je bloque c'est que je souhaite pouvoir modifier ces informations en cliquant sur un bouton "modifier" puis les enregistrer ces informations modifier dans ma base de données grâce à un bouton "sauvegarder". Je bloque sur le bouton "sauvegarder" et j'aurais besoin de votre aide !

Voici mon code :

Mon script pour les boutons : 

<script>
    function toggleEditMode(isEditMode) {
      var usernameElement = document.getElementById('Username');
      var firstnameElement = document.getElementById('Fname');
      var lastnameElement = document.getElementById('Lname');
      var emailElement = document.getElementById('Email');
      var phoneElement = document.getElementById('phone');
      var passwordElement = document.getElementById('Password');
      var editButton = document.getElementById('edit-btn');
      var saveButton = document.getElementById('save-btn');

      if (isEditMode) {
        usernameElement.innerHTML = '<input type="text" value="' + usernameElement.innerHTML + '">';
        firstnameElement.innerHTML = '<input type="text" value="' + firstnameElement.innerHTML + '">';
        lastnameElement.innerHTML = '<input type="text" value="' + lastnameElement.innerHTML + '">';
        emailElement.innerHTML = '<input type="text" value="' + emailElement.innerHTML + '">';
        phoneElement.innerHTML = '<input type="text" value="' + phoneElement.innerHTML + '">';
        passwordElement.innerHTML = '<input type="text" value="' + passwordElement.innerHTML + '">';

        editButton.style.display = 'none';
        saveButton.style.display = 'inline-block';
      } else {
        usernameElement.innerHTML = usernameElement.querySelector('input').value;
        firstnameElement.innerHTML = firstnameElement.querySelector('input').value;
        lastnameElement.innerHTML = lastnameElement.querySelector('input').value;
        emailElement.innerHTML = emailElement.querySelector('input').value;
        phoneElement.innerHTML = phoneElement.querySelector('input').value;
        passwordElement.innerHTML = passwordElement.querySelector('input').value;

        editButton.style.display = 'inline-block';
        saveButton.style.display = 'none';
      }
    }
    </script>

Mon PHP pour récupérer les infos dans ma base de données : 

<div class="parent-container">
  <?php
  if($_SESSION["userType"] == "seller") { 
    echo ' 
    <div class="container">
      <h1>Mon compte</h1>
      <div class="account-info">
        <label>Username:</label>
        <span id="Username">'.$_SESSION['login'].'</span>
      </div>
      <div class="account-info">
        <label>First name:</label>
        <span id="Fname">'.$_SESSION['Fname'].'</span>
      </div>
      <div class="account-info">
        <label>Last name:</label>
        <span id="Lname">'.$_SESSION['Lname'].'</span>
      </div>
      <div class="account-info">
        <label>Email :</label>
        <span id="Email">'.$_SESSION['mail'].'</span>
      </div>
      <div class="account-info">
        <label>Téléphone :</label>
        <span id="phone">0601020304</span>
      </div>
      <div class="account-info">
        <label>Password:</label>
        <span id="Password">'.$_SESSION['password'].'</span>
      </div>
      <div class="btn-container">
        <button id="edit-btn" onclick="toggleEditMode(true)">Modifier</button>
        <button type="submit" name="submit"  id="save-btn" onclick="toggleEditMode(false)">Enregistrer</button>
      </div>
    </div>
    ';
  }
  ?>

Si jamais ça peut être utile j'ai ça au début de mon fichier :

<?php
require_once "myFunctions.php";
$mysqli = getDatabase();

if ($mysqli->connect_error) {
    die('Connect Error (' . $mysqli->connect_errno . ') '
        . $mysqli->connect_error);
}
session_start();

?>

Merci d'avance pour votre aide.

Windows / Chrome 114.0.0.0

A voir également:

2 réponses

jordane45 Messages postés 38380 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 13 janvier 2025 4 727
16 juil. 2023 à 01:21

Bonjour

Je n'ai pas vu de balise de formulaire <form .... >.  Dans le code que tu nous montres...

Sans cela, les données ne pourront pas être transmises à ton script de sauvegarde.


0

Un formulaire transmet les données dans le tableau $_POST, pourquoi utilises-tu $_SESSION ?

0