Modifier une base de données avec un bouton

Diche -  
 Jerome -

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 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 

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
Jerome
 

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

0