mini projet php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mini projet php

Re: mini projet php

par Patriboom » 18 sept. 2018, 23:49

Il m'est difficile de comprendre que tu sois perdu dans ton propre projet, à moins que ce ne soit du code emprunté.
Quels résultats obtiens-tu?
Quels résultats espères-tu ?
As-tu des messages d'erreur (lesquels) ?
Ce que je comprenais par ton titre, c'était un accès plus vaste à certains usagers qu'à d'autres.
Comment ces admin sont-ils repérés lors de la connexion ? Est-ce une information inscrite dans la BDD ? Si c'est le cas, tu peux transmettre cette information (niveau d'accès, par exemple) à tes variables $_SESSION et faire en sorte que son contenu ouvre ou non les boutons exclusifs aux admin.

Réduis ici la quantité d'information ( le code) affichée à la seule partie qui fait défaut, donne-nous aussi les élément structuraux de la BDD dont on a besoin pour t'aider. Sans cela, tu risques fort de nous perdre avec toi.

mini projet php

par vincent801566668 » 05 sept. 2018, 11:45

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

Code : Tout sélectionner

<?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

Code : Tout sélectionner

<?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 :

Code : Tout sélectionner

<?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>

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

Merci pour votre aide

Cordialement