Salut à tous,

Je voulais créer un petit centre de téléchargement avec juste une page de login, une page "accueil" (qui affiche telle ou telle informations selon si on est admin ou user) et une page "admin" qui permet d'ajouter des utilisateurs et enfin une page "admin_file" pour gérer l'ajout de fichier.

Je suis partit sur la base d'un script trouvé sur un autre site.

J'ai donc modifier le script surtout au niveau mise en page. Mon problème est que le script est buggé d'origine (et je n'ai pas réussit a joindre l'auteur par mail). En fait lorsqu'on est loggé en tant qu'admin et que l'on veut ajouter un utilisateur (page "admin.php") lorsqu'on clique sur le bouton ajouter les info contenues dans les champs s'insèrent bien dans la bdd mais on est renvoyé vers l'index en étant déconnecté. Normalement il y a une redirection vers la meme page ("admin.php?add=ok") mais cela ne fonctionne pas et je n'arrive pas a comprendre pourquoi

Voici le fichier en question :
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
161
162
163
164
165
<?php require_once('connexion.php'); ?>
<?php
/*
-----------------------------------
------ SCRIPT DE PROTECTION -------
          DBProtect V1.2
-----------------------------------
*/
 
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 ?)
// On vérifie également si la session ouverte est bien une session admin et on place 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 
// ------ AJOUT D'UN UTILISATEUR --------
if(isset($_POST['login'])){ // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé)
	if(($_POST['login'] == "") || ($_POST['pass'] == "")){ // si login ou mot de passe non spécifiés >> message d'erreur
		header("Location: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
		$login = $_POST['login'];
		$pass = md5($_POST['pass']); // ici, on crypte le mot de passe à l'aide de MD5 (c'est tout simple non ? :)
		$nom = $_POST['nom'];
		$prenom = $_POST['prenom'];
		$privilege = $_POST['privilege'];
		// on fait l'INSERT dans la base de données
		$add_user = sprintf("INSERT INTO utilisateurs (login, pass, nom, prenom, privilege) VALUES ('$login', '$pass', '$nom', '$prenom', '$privilege')");
  		mysql_select_db($database_dbprotect, $dbprotect);
  		$result = mysql_query($add_user, $dbprotect) or die(mysql_error());
		header("Location:admin.php?add=ok"); // redirection si création réussie
	}
	else{
		header("Location:admin.php?erreur=pass"); // redirection si le pass1 est différent du pass2
	}
}
 
// ------ SUPPRESSION D'UN UTILISATEUR --------
// on fait la requête sur tous les utilisateurs de la base pour alimenter notre sélecteur (on fait un tri par nom)
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['suppr']) && ($_POST['suppr'] != "1")){ // on vérifie la présence des variables de formulaire (si le formulaire a été envoyé)
	$id = $_POST['suppr'];
    $delete_user = sprintf("DELETE FROM utilisateurs WHERE id_user='$id'");
 
  mysql_select_db($database_dbprotect, $dbprotect);
  $result = mysql_query($delete_user, $dbprotect) or die(mysql_error());
  header("Location:admin.php?delete=ok"); // url qui servira pour afficher le message de réussite
}
?>
<html>
<head>
<title>ADMINISTRATION - DBProtect</title>
<link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<form action="" method="post" name="add">
 <div class="titre">- : : : ESPACE ADMINISTRATION : : : -</div> 
 <p align="center">
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "pass")) { // Affiche l'erreur  
	?>
    <span class="erreur">Veuillez entrer deux fois votre mot de passe SVP</span>
    <?php } ?>
    <?php if(isset($_GET['add']) && ($_GET['add'] == "ok")) { // Affiche l'erreur 
	?>
    <span class="reussite">L'utilisateur a &eacute;t&eacute; cr&eacute;&eacute; avec succ&egrave;s !</span>
    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "empty")) { // Affiche l'erreur  
	?>
    <span class="erreur">Un petit oubli non ? Veuillez renseigner au moins un login et un mot de passe SVP</span>
    <?php } ?>
</p>
  <p align="center"><strong><u>Cr&eacute;er un utilisateur</u></strong></p>
  <table width="350" border="0" align="center" cellpadding="5" cellspacing="0" bgcolor="#eeeeee" class="tableaux">
    <tr>
      <td width="40">Login</td>
      <td width="144"><input name="login" type="text" id="login"></td>
    </tr>
    <tr>
      <td>Mot de passe </td>
      <td><input name="pass" type="password" id="pass"></td>
    </tr>
    <tr>
      <td>R&eacute;p&eacute;ter mot de passe </td>
      <td><input name="pass2" type="password" id="pass2"></td>
    </tr>
    <tr>
      <td>NOM</td>
      <td><input name="nom" type="text" id="nom"></td>
    </tr>
    <tr>
      <td>Pr&eacute;nom</td>
      <td><input name="prenom" type="text" id="prenom"></td>
    </tr>
    <tr>
      <td>Privil&egrave;ge</td>
      <td><select name="privilege" id="privilege">
          <option value="user">Utilisateur</option>
          <option value="admin">Administrateur</option>
        </select></td>
    </tr>
    <tr>
      <td height="50" colspan="2"><div align="center">
          <input type="submit" name="Submit" value="Cr&eacute;er cet utilisateur">
        </div></td>
    </tr>
  </table>
</form>
<p align="center"><strong>
  <?php 
if(isset($_GET['delete']) && ($_GET['delete'] == "ok")) { // Affiche l'erreur  
?>
  <span class="reussite">L'utilisateur a &eacute;t&eacute; supprim&eacute; avec succ&egrave;s</span>
  <?php } ?>
  <?php 
if(isset($_POST['verif']) && (!isset($_POST['suppr']))) { // Affiche l'erreur  
?>
</strong><span class="erreur">Veuillez s&eacute;lectionner un utilisateur &agrave; supprimer </span><strong>
<?php } ?>
<?php 
if(isset($_POST['suppr']) && ($_POST['suppr'] == "1")) { // Affiche l'erreur  
?>
</strong><span class="erreur">Vous ne pouvez pas supprimer l'utilisateur par d&eacute;faut toto.<br>
Pour tester la fonction de supression, ajoutez un utilisateur.<br>
Pour s&eacute;curiser votre script, il est fortement recommand&eacute; de le supprimer manuellement dans votre BDD ... </span><strong>
<?php } ?></strong></p>
<form action="" method="post" name="suppr">
  <p align="center"><strong><u>Supprimer un utilisateur</u></strong></p>
  <div align="center">
    <table width="500" border="0" cellpadding="5" cellspacing="0" class="tableaux">
      <tr>
        <td width="240"><div align="center">
            <select name="suppr" size="5" id="select2">
              <?php
	do {  
?>
              <option value="<?php echo $row_users['id_user']?>">
              <?php if($row_users['privilege']== "admin") echo ">> "; echo $row_users['nom']." ".$row_users['prenom']." (".$row_users['login'].")"; if($row_users['privilege']== "admin") echo " <<"?>
              </option>
              <?php
	} while ($row_users = mysql_fetch_assoc($users));
 		$rows = mysql_num_rows($users);
  		if($rows > 0) {
      		mysql_data_seek($users, 0);
	  		$row_users = mysql_fetch_assoc($users);
		}
?>
            </select>
            <input name="verif" type="hidden" id="verif">
        </div></td>
        <td width="157"><input type="submit" name="Submit2" value="Supprimer cet utilisateur"></td>
      </tr>
    </table>
    <p><a href="accueil.php"><strong>&lt; Retour accueil</strong></a></p>
  </div>
</form>
</body>
</html>
En ce qui concerne la suppression d'utilisateur, cela fonctionne très bien, c'est juste le formulaire ou la fonction pour ajouter un utilisateur qui bug et que je n'arrive pas à comprendre.

Si quelqu'un peu m'aider je lui en serait très reconnaissant