Modification de page php pour mini projet

Fermé
vincent801566668 Messages postés 49 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 5 septembre 2018 - Modifié le 5 sept. 2018 à 11:54
vincent801566668 Messages postés 49 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 5 septembre 2018 - 5 sept. 2018 à 12:13
Bonjour,

J'ai pour but de faire un mini projet en php mais j'avoue que je suis perdu.

projet pour qu'un administrateur puisse voir la liste des comptes (admin ou non) et modifier ou supprimer un en particulier via deux boutons à côté des détails de chaque compte :

- Création de la page gestioncomptes.php (en PJ) accessible depuis la page welcome.php une fois connecté en tant qu'administrateur => formulaire avec 2 boutons modifier et supprimer pour chaque compte et un champ hidden permettant de passer le login du compte à modifier ou à supprimer à la page compte.php

- Modifier la page gestioncomptes.php pour aller sur la page compte.php (pour rappel, attribut "action" de la balise <form>) en méthode post

- Modifier la page compte.php pour gérer les cas modifier et supprimer un compte depuis la page gestioncomptes.php (test d'action sur un des 2 boutons grâce à isset($_POST['actionCompte'] && $_POST['actionCompte'] == "Modifier" ou isset($_POST['actionCompte'] && $_POST['actionCompte'] == "Supprimer" ) => utiliser le code déjà existant de modification et de suppression, initialiser le formulaire avec les valeurs du compte à modifier ($_POST au lieu de $_SESSION) si on arrive depuis la page gestioncomptes.php. Dans le cas de la suppression, rediriger vers la page gestioncomptes.php plutôt que connexion.php


pour le moment j'ai :

pour welcome php
<?php
 session_start();
?>
<!DOCTYPE html>
<html>
 <head>
  <title>Structures - bienvenue</title>
  <meta charset="UTF-8">
 </head>
 <body>
  <form method="post">
   <?php
    echo "Id session = ".session_id()."<br/>";
    echo "<pre>"; print_r($_SESSION); echo "</pre>";
    echo "Bienvenue ";
    if (isset($_SESSION['login'])) {
     echo $_SESSION['login']." !";
     echo '<br/><a href="compte.php">Gérer mon compte</a>';
     echo '<br/><a href="deconnexion.php">Me déconnecter</a>';
    }
   ?>
  </form>
 </body>
</html>

gestion de compte php

<?php 
 include('fonctions.php');
?>
<html> 
  <head>
 <title>Gestion des comptes</title>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
  </head>
  <body>
 <br/>
  <?php
   // ouverture connexion
   $connection=connexionSQL();
   // execution de la requête 
   $res=getGerants($connection);
   
   // si faux retourné, erreur lors de l'exécution de la requête
   // et nous arrêtons le script
   if (!$res) {
    die("Erreur de récupération de la liste des comptes en BD");
   }
   
   echo '<table><tr><td>ID</td><td>LOGIN</td><td>NOM</td><td>PRENOM</td><td>EMAIL</td><td>ISADMIN</td></tr>';
   
   // Affichage des lignes que nous transformerons en liste de cases à cocher...
   while ($gerant=$res->fetch_assoc()) {
    echo '<tr><form method="get"><td>'.$gerant['ID'].'</td>';
    echo '<td>'.$gerant['LOGIN'].'</td>';
    echo '<td>'.$gerant['NOM'].'</td>';
    echo '<td>'.$gerant['PRENOM'].'</td>';
    echo '<td>'.$gerant['EMAIL'].'</td>';
    echo '<td>'.$gerant['ISADMIN'].'</td>';
    echo '<td><input type="hidden" name="login" value="'.$gerant['LOGIN'].'"></td>';
    echo '<td><input type="submit" name="actionCompte" value="Modifier"></td>';
    echo '<td><input type="submit" name="actionCompte" value="Supprimer"></td></form></tr>';
   }
   echo '</table>';
   $connection->close();
  ?>
  </body>
</html>



compte php :

<?php
 include('fonctions.php');
 session_start();
 if (isset($_POST['supprimer_compte'])) {
  $requete = "DELETE FROM GERANT WHERE LOGIN='".$_SESSION['login']."'";
  
  echo $requete."<br/>";
  $connexion=connexionSQL();
  $res=executerRequete($connexion,$requete);
  
  if (!$res) {
   echo "Erreur lors de la suppression de votre compte<br/>";
   $connexion->close();
  }
  else {
   $connexion->close();
   deconnect();
   header('Location: ./connexion.php');
  }
 }
 
 echo "Id session = ".session_id()."<br/>";
 echo "<pre>"; print_r($_SESSION); echo "</pre>";

 if (isset($_POST['creer_compte'])) {
  $connexion=connexionSQL();
  $res=getGerant($connexion, $_POST['login']);
  
  if ($res->num_rows > 0) {
   echo 'Login déjà utilisé, veuillez en choisir un autre';
   $res->close();
   $connexion->close();
  }
  else {
   if ($_POST['mdp'] == $_POST['confirm_mdp']) {
    
    $requete = "INSERT INTO GERANT(ID,LOGIN,NOM,PRENOM,EMAIL,MDP)
    VALUES(NULL,'".$_POST['login']."','".$_POST['nom']."','".$_POST['prenom']."','".$_POST['email']."','".$_POST['mdp']."')";
    echo $requete."<br/>";
    $res=executerRequete($connexion,$requete);
    
    if (!$res) {
     echo "Erreur lors de la création de votre compte<br/>";
     $connexion->close();
    }
    else {
     $_SESSION['login']=$_POST['login'];
     $_SESSION['nom']=$_POST['nom'];
     $_SESSION['prenom']=$_POST['prenom'];
     $_SESSION['email']=$_POST['email'];
     $connexion->close();
     header('Location: ./welcome.php');
    }
   }
   else {
    echo "Les mots de passe ne correspondent pas<br/>";
   }
  }
 }
 if (isset($_POST['modifier_compte'])) {
  
  if ($_POST['mdp'] == $_POST['confirm_mdp']) {
   $requete = 
    "UPDATE GERANT SET NOM='".$_POST['nom']."',
     PRENOM='".$_POST['prenom']."',
     EMAIL='".$_POST['email']."',
     MDP='".$_POST['mdp']."'
     WHERE LOGIN='".$_SESSION['login']."'";
   
   echo $requete."<br/>";
   $connexion=connexionSQL();
   $res=executerRequete($connexion,$requete);
   
   if (!$res) {
    echo "Erreur lors de la modification de votre compte<br/>";
    $connexion->close();
   }
   else {
    $_SESSION['nom']=$_POST['nom'];
    $_SESSION['prenom']=$_POST['prenom'];
    $_SESSION['email']=$_POST['email'];
    $connexion->close();
    echo "Mise à jour prise en compte<br/>";
   }
  }
  else {
   echo "Les mots de passe ne correspondent pas<br/>";
  }
 }
?>
<!DOCTYPE html>
<html>
 <head>
  <title>Structures - mon compte</title>
  <meta charset="UTF-8">
 </head>
 <body>
  <form method="post">
   <table>
    <tr>
     <td>Login</td>
     <td><input required type="text" name="login" value="<?php      
       valueInputType("login");
       echo '"';
       if (isset($_SESSION['login'])) {
        echo ' disabled';
       }
      ?>>
     </td>
    </tr>
    <tr>
     <td>Nom</td>
     <td><input required type="text" name="nom" value="<?php
       valueInputType("nom");
      ?>">
     </td>
    </tr>
    <tr>
     <td>Prénom</td>
     <td><input required type="text" name="prenom" value="<?php
       valueInputType("prenom");
      ?>">
     </td>
    </tr>
    <tr>
     <td>Email</td>
     <td><input required type="email" name="email" value="<?php
       valueInputType("email");
      ?>">
     </td>
    </tr>
    <tr>
     <td>Mot de passe</td>
     <td>
      <input required type="password" name="mdp" value="">
     </td>
    </tr>
    <tr>
     <td>Confirmation mot de passe</td>
     <td>
      <input required type="password" name="confirm_mdp" value="">
     </td>
    </tr>
   </table>
   <?php
    if (!isset($_SESSION['login'])) 
     echo '<input type="submit" name="creer_compte" value="Créer">';
    else {
     echo '<input type="submit" name="modifier_compte" value="Modifier">';
     echo '<input type="submit" name="supprimer_compte" value="Supprimer">';
     echo '<br/><a href="deconnexion.php">Me déconnecter</a>';
    }
     
   ?>
  </form>
   <?php
    
   ?>
 </body>
</html>



EDIT : Ajout des BALISES DE CODE

.

Je pense pas que ce soit bien compliqué mais j'avoue être perdu si une personne peu m'aider ?

Merci pour votre aide

Cordialement
A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
5 sept. 2018 à 11:57
Bonjour,

1 - Pour poster du code sur le forum, merci de le faire en utilisant LES BALISES DE CODE (et en y précisant le langage)
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code


2 - Tu nous décris ce que tu souhaites obtenir et ce que tu as commencé à faire..... mais je n'ai pas vu ni de question ni d'explication d'un éventuel souci....
Pourrais tu nous expliquer en détail ce qui "coince" et/ou ce-dont tu as besoin ?

0
vincent801566668 Messages postés 49 Date d'inscription mardi 1 décembre 2009 Statut Membre Dernière intervention 5 septembre 2018 3
5 sept. 2018 à 12:13
Bonjour,

merci pour votre aide et d'avoir modifier mon post c'est très gentil

Cordialement
0