J'essaye de créer un module pour mon site internet (pas encore en ligne) qui me permettrait, en tant qu'administrateur, de choisir un utilisateur, et d'afficher toute ses informations.
J'arrive à afficher toute la liste de mes utilisateurs, mais je n'arrive pas à sélectionner un nom pour faire apparaître ses informations.
Voici mon code:
<?php require_once('connexion.php'); ?>
<?php
session_start(); // On relaye la session
if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin"){ // vérification sur la session authentification (la session est elle enregistrée ?)
// ici les éventuelles actions en cas de réussite de la connexion
}
else {
header("Location:index.php?erreur=intru"); // redirection en cas d'echec
}
?>
<?php
// ------ AFFICHER LA LISTE DES UTILISATEURS --------
// on fait la requête sur tous les utilisateurs de la base
mysql_select_db($database_dbprotect, $dbprotect);
$query_users = "SELECT * FROM utilisateurs ORDER BY nom ASC"; // ORDER BY renvoi les données triées (ici par nom croissant)
$users = mysql_query($query_users, $dbprotect) or die(mysql_error());
$row_users = mysql_fetch_assoc($users);
if(isset($_POST['selected'])){ // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé)
$id = $_POST['selected'];
$change_user = sprintf("SELECT pass FROM utilisateurs WHERE id_user='$id'");
mysql_select_db($database_dbprotect, $dbprotect);
$result = mysql_query($change_user, $dbprotect) or die(mysql_error());
header("Location:change-pass-admin.php?delete=ok");
}
// ------ MODIFICATION D'UN UTILISATEUR --------
if(isset($_POST['pass'])){ // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé)
if($_POST['pass'] == ""){ // si mot de passe non spécifiés >> message d'erreur
header("Location:change-pass-admin.php?erreur=empty");
}
else if($_POST['pass'] == $_POST['pass2']){ // on vérifie si le mot de passe et le mot de passe confirmé ont la même valeur
// on passe toutes les variables $POST en variables
$pass = md5($_POST['pass']); // ici, on crypte le mot de passe à l'aide de MD5 (c'est tout simple non ? :)
// on fait l'UPDATE dans la base de données
$update_user = sprintf("UPDATE utilisateurs SET pass='".$pass."' WHERE id_user='".$id."'");
mysql_select_db($database_dbprotect, $dbprotect);
$result = mysql_query($update_user, $dbprotect) or die(mysql_error());
header("Location:change-pass.php?add=ok"); // redirection si création réussie
}
else{
header("Location:change-pass-admin.php?erreur=pass"); // redirection si le pass1 est différent du pass2
}
}
// requête sur tous les utilisateurs recensés dans la base (on fait un tri par nom)
?>
fin de l'en tête
et dans <body>:
<h1>Afficher les informations d'un utilisateur</h1><br />
<h6><?php if(isset($_GET['delete']) && ($_GET['delete'] == "ok")) { // Affiche l'erreur ?>L'utilisateur a été supprimé avec succès<?php } ?> </h6>
<form action="" method="post" name="selected" ><br />
<tr>
<td><span>Ancien Mot de passe </span></td>
<td><input name="pass" type="text" id="pass" style="width: 330px" value="<?php echo $id ?>"></td>
</tr>
<tr>
<td><span>Nouveau Mot de passe </span></td>
<td><input name="pass" type="text" id="pass" style="width: 330px"></td>
</tr>
<tr>
<td><span>Répéter nouveau mot de passe </span></td>
<td><input name="pass2" type="text" id="pass2" style="width: 330px"></td>
</tr>
<tr>
<td height="50" colspan="2" align="center">
<input type="submit" name="Submit" value="Modifier les informations de ce contact">
</td>
</tr>
</table>
</form>
Je tiens à préciser que je suis parti du script de DBconnect qui m'a beaucoup aidé.
Je répète ce que je veux faire, sélectionner un de mes utilisateurs, et en l'occurence ici, faire afficher son mot de passe (même si c'est du md5 je sais, c'est juste pour le principe parce qu'après je vais le faire sur toutes les autres champs de ma table), et me donner la possibilité de le modifier derrière.
Je poste une réponse 1 an et demi plus tard pour ceux qui aurait le même problème. En fait ma question était toute bête, mais à l'époque je venais de débuter en développement.
Une fois la liste de tous les membres affichés, il suffit de mettre un lien à côté pour modifier ou éditer ce membre, avec une URL du type detaildumembre.php?id_du_membre=...
Dans une seconde page on pourra faire une requête pour récupérer les données de ce membre avec en critère dans la requête WHERE id_du_membre = $_GET['id_du_membre']
Obtenez des réponses à vos questions sur la gestion de données, partagez des astuces et restez à jour avec les dernières avancées technologiques en matière de stockage de données.