IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Modification de page php pour mini projet


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2018
    Messages : 7
    Par défaut Modification de page php pour mini projet
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    <?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

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 666
    Par défaut
    vous avez l'air de vous battre sur 3 fronts en même temps donc c'est normal que vous n'en voyez pas le bout.

    avant même de coder, la 1re étape est de lister les utilisateurs ou groupe d'utilisateurs. d'après votre message j'en vois déjà deux mais il y en a peut-être plus ?
    1. administrateur
    2. "pas administrateur" mais ça ne fait pas joli donc je propose "membre"


    ensuite la 2e étape est de liste les fonctionnalités de chaque rôle, par exemple
    1. administrateur
      • créer des comptes administrateur ou membre
      • ?
    2. membre
      • se connecter ?
      • lire des informations privés quand il est connecté ?

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2018
    Messages : 7
    Par défaut
    Merci pour votre réponse

    j'ai une base sql qui vas avec pour la gestion des utilisateurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    --
     
    DROP TABLE IF EXISTS secteurs_structures;
    DROP TABLE IF EXISTS secteur;
    DROP TABLE IF EXISTS structure;
     
    CREATE TABLE IF NOT EXISTS secteur (
      ID int(11) NOT NULL AUTO_INCREMENT,
      LIBELLE varchar(100) NOT NULL,
      PRIMARY KEY (ID)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    CREATE TABLE IF NOT EXISTS structure (
      ID int(11) NOT NULL AUTO_INCREMENT,
      NOM varchar(100) NOT NULL,
      RUE varchar(200) NOT NULL,
      CP varchar(5) NOT NULL,
      VILLE varchar(100) NOT NULL,
      ESTASSO tinyint(1) NOT NULL,
      PRIMARY KEY (ID)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    CREATE TABLE  IF NOT EXISTS secteurs_structures (
      ID int(11) NOT NULL AUTO_INCREMENT,
      ID_STRUCTURE int(11) NOT NULL,
      ID_SECTEUR int(11) NOT NULL,
      PRIMARY KEY (ID),
      KEY ID_STRUCTURE (ID_STRUCTURE),
      KEY ID_SECTEUR (ID_SECTEUR),
      CONSTRAINT secteurs_structures_structure_fk FOREIGN KEY (ID_STRUCTURE) REFERENCES structure (ID),
      CONSTRAINT secteurs_structures_secteur_fk FOREIGN KEY (ID_SECTEUR) REFERENCES secteur (ID)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
     
    INSERT INTO secteur(LIBELLE) VALUES ('Energie');
    INSERT INTO secteur(LIBELLE) VALUES ('Environnement');
    INSERT INTO secteur(LIBELLE) VALUES ('Transport');
    INSERT INTO secteur(LIBELLE) VALUES ('Automobile');
    INSERT INTO secteur(LIBELLE) VALUES ('Informatique');
     
    INSERT INTO structure(NOM,RUE,CP,VILLE,ESTASSO) VALUES ('Veolia','rue veolia','75000','Paris',0);
    INSERT INTO structure(NOM,RUE,CP,VILLE,ESTASSO) VALUES ('Renault','rue Renault','78000','Versailles',0);
    INSERT INTO structure(NOM,RUE,CP,VILLE,ESTASSO) VALUES ('WWF','rue WWF','92000','Antony',1);
    INSERT INTO structure(NOM,RUE,CP,VILLE,ESTASSO) VALUES ('Microsoft','rue Microsoft','75000','Paris',0);
     
    INSERT INTO secteurs_structures(ID_STRUCTURE,ID_SECTEUR) VALUES (1,1);
    INSERT INTO secteurs_structures(ID_STRUCTURE,ID_SECTEUR) VALUES (1,2);
    INSERT INTO secteurs_structures(ID_STRUCTURE,ID_SECTEUR) VALUES (1,3);
    INSERT INTO secteurs_structures(ID_STRUCTURE,ID_SECTEUR) VALUES (2,4);
    INSERT INTO secteurs_structures(ID_STRUCTURE,ID_SECTEUR) VALUES (3,2);
    INSERT INTO secteurs_structures(ID_STRUCTURE,ID_SECTEUR) VALUES (4,5);
     
    COMMIT;
    la stucture ce base sur cela

    je pense donc pouvoir faire un groupe admin et un groupe non admin ce serait le plus simple

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2018
    Messages : 7
    Par défaut
    ensuite la 2e étape est de liste les fonctionnalités de chaque rôle, par exemple
    administrateur
    créer des comptes administrateur ou membre
    ?
    membre
    se connecter ?
    lire des informations privés quand il est connecté ?

    le compte admin devra pouvoir créer que des comptes utilisateurs je ne compte pas avoir d'autre admin que celui de base


    les membres doivent pouvoir ce connecter et demander la suppression de leurs comptes

    et voir leur compte.

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2018
    Messages : 7
    Par défaut
    Si une personne peu m'aider pour modifier mon script car je suis perdu pour le moment merci pour votre aide

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Mai 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mai 2018
    Messages : 7
    Par défaut
    La première chose que je souhaite faire c'est passer de la page

    welcome.php vers la page gestioncomptes.php si le compte qui ce connecte est le compte administrateur

    c'est possible ?

    Merci qui voudra bien m'aider

Discussions similaires

  1. Java ou PHP pour un projet en - de 3 mois?
    Par ikhane dans le forum Général Java
    Réponses: 3
    Dernier message: 20/03/2008, 22h31
  2. Proposez moi un sujet pour mini projet
    Par safwa dans le forum Interfaces Graphiques en Java
    Réponses: 5
    Dernier message: 14/12/2007, 12h17
  3. Réponses: 16
    Dernier message: 16/11/2007, 16h23
  4. Réponses: 4
    Dernier message: 20/08/2006, 14h03
  5. Réponses: 1
    Dernier message: 22/09/2005, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo