Comment récupérer l'id

Résolu/Fermé
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 27 mars 2007 à 21:37
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 30 mars 2007 à 23:55
Salut aux spécialistes !
Voici mon Pb:
J'ai une page pour modifier une fiche et qui ne doit etre accessible qu'a 2/3 personnes uniquement.
J'ai écrit un code php au tout début de cette page avec les login et password. Si c'est OK, on accède à un tableau détaillé pour vérifs avant modifs proprement dite.
Mais là est mon Pb.
En cliquant sur un lien modifier quelconque de la liste principale, il m'affiche une fiche (la première de cette liste qui porte le n°2 (la 1 n'existe pas).
J'ai tout essayé y compris de mettre
$id = $_GET["id"];
dans la page de login puis dans celle qui affiche le tableau détaillé (les deux sont sur une et même page en fait !).
Voici ci-dessous un extrait du code:
<?
session_start();  // A placer obligatoirement avant tout code html

$_SESSION['connect']=0; //initialise la variable 'connect'

if (isset($_POST['mot_de_passe']) AND isset($_POST['login'])) // Si les variables existent
{
        $mot_de_passe=$_POST['mot_de_passe'];
        $login=$_POST['login'];  //On récupère les données envoyées par la méthode POST du formulaire 

d'identification
}

else // Les variables n'existent pas encore
{
        $mot_de_passe=""; // On crée une variable $mot_de_passe vide
        $login=""; // On crée une variable $login vide
}

if (($mot_de_passe == "txikito" AND $login == "txiki") OR ($mot_de_passe == "tintinotibet" AND $login == "tintin"))
// Si le mot de passe et le login sont bons (valable pour 1 utilisateur ou plus).

{
        $_SESSION['connect']=1;  // Change la valeur de la variable connect. C'est elle qui nous permettra de savoir 

s'il y eu identification.
        $_SESSION['login']=$login;  // Permet de récupérer le login pour personnaliser la page d'authentification par exemple
// On affiche la page cachée.
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
  <title>Fiche détaillée du logiciel</title>
  <link href="scripts_styles/form.css" rel="stylesheet">
******* la suite de la page *******
<?

// ======================================
// On recupere la variable "id" correspondant au logiciel choisi
// ======================================
$id = $_GET["id"]; // La manipulation de $id est plus simple que celle de $_POST["id"]

// ======================================
// On se connecte et on choisi la base de données
// ======================================
mysql_pconnect("localhost","root","") or die ("Impossible de se connecter à MySQL");
mysql_select_db("txiki") or die("Impossible de sélectionner la base de données");

//=======================================
// requête SQL qui affiche les infos de la fiche correspondante au lien cliqué 
//=======================================
$select = "select * FROM logiciels WHERE id='$id'"; // On selectionne seulement la ligne qui correspond au logiciel 

choisi 
$result = mysql_query($select)  or die ('Erreur : '.mysql_error() );
$row= mysql_fetch_row($result);  // mysql_fetch_row genere un tableau correspondant a la ligne selectionnée de la 

BDD
// Les informations sont accessibles par $row["id"], $row["nom"], $row["source"]...

// ================================
// Affichage de la fiche dans un tablea&u dynamique 
// ================================
  echo "<table class='tabliste' width='60%' bgcolor='#FFFFFF' border='1' cellspacing='0' cellpadding='3' 

align='center'>\n";
// première ligne on affiche le titre "Fiche logicielle" dans 2 colonnes fusionnées
        echo "<tr text-align='center' padding='3px' class='blanc'>";
        echo "<td colspan='2' bgcolor='#7F9DB9'><h2> Fiche logicielle </h2></td>";
        echo "</tr>\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par lot de 2 lignes.    
  echo "<tr bgcolor='#FFA54A' text-align='center'>";
  echo "<td width='50%' class='td-fiche'> N° d'enregistrement: <strong>" .$row['0']."</strong></td>"; // première 

ligne  pour le n° d'enregistrement (id)
  echo "<td width='50%' class='td-fiche-droite'> Date d'enregistrement: <strong>" .$row['1']."</strong></td>"; // 

première ligne  pour le n° d'enregistrement (id)
******** Suite du tableau de la fiche détaillée ********
    // fin du tableau.
mysql_close();
?>
    </form>
	<br />
      <table width="60%"  border="0" align="center" cellpadding="4" cellspacing="0">
        <tr>
          <td colspan="3" align="center"><img src="boutons-catalogue/valider-modification.png" width="150" 

height="21" onClick="document.location.href='insert_modifs.php'"></td>
// j'utilise un bouton à cause d'IE et NT4 qui affichent un bouton gris tout vilain
  </body>
</html>
// fin de la page fiche détaillée et page de login
// le tout dans la même page
<?
}

else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title> Page protégée par mot de passe </title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link href="scripts_styles/form.css" rel="stylesheet">
    </head>
    <body>
  <p> </p>
<h1 align="center"> Cette page est réservée aux administrateurs uniquement ! </h1>
<h3 align="center" class="echec"> Veuillez entrer le login et mot de passe : </h3>
	<table width="300px"><tr>
	<form action="modification.php" method="post">
	<p align="center"><input type="text" name="login" /></p>
	<p align="center"><input type="password" name="mot_de_passe" /></p>
	<p align="center"><input type="submit" value="Valider" /></p>
	</form>
	</tr></table>
    </body>
</html>
<?
} // Fin du else
// Fin du code :)
?>

Je pense que l'id est perdu dès la page du login (bien qu'ici je ne l'ai pas mis mais le résultat est le même).

Comment dois-je écrire ce $_GET et surtout à quel endroit ?
Si je le supprime ça fonctionne mais alors les modifs seront accessibles à tous ce qui n'est pas le but.
Merci pour vos conseils !

J'ai cherché et recherché mais en vain, HELAS !
Peut-etre aussi que je m'y prend comme manche (je ne sais même pas si c'est vraiment sécurisé, ce système de login.
J'ai trois pages a protéger ainsi (un formulaire pour un ajout, puis les modifs et suppression de fiches.
D'ailleurs, je bloque aussi sur les modifs (je ne veux pas toucher a l'id mais juste les champs (certains champs sans savoir à l'avance lesquels).
Voilà ! j'espère que je n'ai pas été trop long.....

3 réponses

thomas_- Messages postés 97 Date d'inscription dimanche 7 janvier 2007 Statut Membre Dernière intervention 15 juin 2007 44
29 mars 2007 à 08:35
On commence par la page qui affiche les fiches, ici on pourra cliquer sur la fiche et la modifier ou la supprimer directement ("fiches.php") :

<?php
// on commence par déclarer ce qui va se passe si jamais on supprime des fiches
if(isset($_POST["id"]))
{
// on déclare les variables
$del_id = $_POST["id"];
// on se connecte à la base
mysql_connect("tonhost", "tonlogin", "tonmotdepasse");
mysql_select_db("tabasededonnees");
// un ou plusieurs enregistrements
foreach ($del_id as $valeur)
{
// on supprime
$sql = " DELETE FROM `t_fiches` WHERE id = ".$valeur." ";
$res = mysql_query($sql);
}
// on renvoi vers la page des fiches avec le message de confirmation
header("Location:fiches.php?mess=supp_ok");
}
?>
<html>
<body>
<?php

// on affiche ici les messages en fonction de ce qui s'est passé
if(isset($_GET["mess"]))
{
if($_GET["mess"] == "modif_ok") echo "Votre modification s'est correctement passée";
else if($_GET["mess"] == "supp_ok") echo "Votre suppression s'est correctement passée";
}


// on passe à l'affichage des enregistrements


// on se connecte à la base
mysql_connect("tonhost", "tonlogin", "tonmotdepasse");
mysql_select_db("tabasededonnees");
// on fait la requête
$res_fiches = mysql_query(" SELECT * FROM `t_fiches` ");
// si un enregistrement existe
if(@mysql_num_rows($res_fiches) > 0)
{
// il y a des enregistrements, on commence à créer le formulaire de suppression à choix multiples
echo '<form name="supp" method="post" action="fiches.php">\n';
// on effectue la boucle pour afficher les enregistrements
while($row = mysql_fetch_array($res_fiches))
{
// on déclare les variables qu'on va afficher
$id = $row["id"];
$nom = $row["nom"];
// on affiche

echo '<a href="modif_fiche.php?id='.$id.'">'.$nom.'</a><input type="checkbox" name="id[]" value="'.$id.'" /><br />\n';
}
// fin de la boucle et on passe à la fin du formulaire
echo '<input type="submit value="Valider" />\n';
echo '</form>\n';
}
// sinon on affiche qu'aucun enregistrement n'a été trouvé
else echo "Désolé mais aucun enregistrement n'a été trouvé";
?>
</body>
</html>

On passe maintenant à la page de modification ("modif_fiche.php") :

<?php
// ici on met les actions qui vont se produire si jamais le formulaire de modification est posté
if(isset($_POST["id"]) && isset($_POST["nom"]))
{
$id = $_POST["id"];
$nom = $_POST["nom"];
// on se connecte à la base
mysql_connect("tonhost", "tonlogin", "tonmotdepasse");
mysql_select_db("tabasededonnees");
// on exécute la requete
$res = mysql_query(" UPDATE `t_fiches` SET `nom` = ".$nom." WHERE id = ".$id." ");
// on envoi vers une page de confirmation
header("Location:fiches.php?mess=modif_ok");
}
?>
<html>
<body>
<?php
// on vérifie que la variable id a été déclarée
if(isset($_GET["id"]))
{
// on se connecte à la base pour récupérer l'enregistrement
mysql_connect("tonhost", "tonlogin", "tonmotdepasse");
mysql_select_db("tabasededonnees");
// on fait notre requête
$res_fiche = mysql_query(" SELECT * FROM `t_fiches` WHERE fiche_id = ".$id." ");
// si un enregistrement correspond bien
if(@mysql_num_rows($res_fiche) > 0)
{
// on affiche
$row = mysql_fetch_array($res_fiche);
// on déclare les variables utilisées
$id = $row["id"];
$nom = $row["nom"];
// on affiche le formulaire avec la possibilité de modifier
echo '<form name="modif" method="post" action="modif_fiche.php">\n';
echo '<input type="hidden" name="id" value="'.$id.'"/>\n';
echo '<input type="text" name="nom" value="'.$nom.'" />\n';
echo '<input type="submit" value="Valider" />\n';
echo '</form>\n';
}
// sinon on affiche une erreur
else echo "Désolé mais aucun enregistrement ne correspond";
}
// sinon on affiche une erreur
else echo "Désolé mais l'id doit être renseignée";
?>
</body>
</html>

Voilà j'espère que ça t'aidera (j'ai pas vérifié si tout était ok mais normalement oui :).

Thomas
4
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
28 mars 2007 à 16:55
Alors personne pour me dépatouiller ?

Je n'arrive pas a transmettre une variable en partant d'un lien qui pointe sur une fiche (prévisualisation avant suppression) et a partir de laquelle on doit pouvoir supprimer dans la table l'entrée correspondante a la fiche sélectionnée.
Si quelqu'un pouvait me donner le principe car j'ai essayé beaucoup de chose et je patauge maintenant.......
Merci d'avance !
0
txiki Messages postés 6597 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 515
30 mars 2007 à 23:55
Bonsoir à tous et merci thomas_,
thomas_: suis désolé mais ton script ne me convient pas (pourquoi vouloir supprimer plusieurs fiches en même temps ?
Je veux pouvoir d'abord afficher le détail dans un tableau avec un bouton "Modifier cette fiche ?".
Même chose pour la suppresion (elles vont etre très, très rares).

Je perd l'id (tu sais quand on clique sur la liste (liste.php) d'un logiciel spécifique ?).
voici le code de cette page modification.php:
<?
session_start();  // A placer obligatoirement avant tout code html

$_SESSION['connect']=0; //initialise la variable 'connect'

if (isset($_POST['mot_de_passe']) AND isset($_POST['login'])) // Si les variables existent
{
        $mot_de_passe = $_POST['mot_de_passe'];
        $login = $_POST['login'];  //On récupère les données envoyées par la méthode POST du formulaire d'identification
}

else // Les variables n'existent pas encore
{
        $mot_de_passe=""; // On crée une variable $mot_de_passe vide
        $login=""; // On crée une variable $login vide
}

if (($mot_de_passe == "******" AND $login == "******") OR ($mot_de_passe == "pass123456" AND $login == "LOGIN")OR ($mot_de_passe == "******" AND $login == "******") OR ($mot_de_passe == "******" AND $login == "******"))
// Si le mot de passe et le login sont bons (valable pour 1 utilisateur ou plus).

{
        $_SESSION['connect']=1;  // Change la valeur de la variable connect. C'est elle qui nous permettra de savoir s'il y eu identification.
        $_SESSION['login'] = $login;  // Permet de récupérer le login personnaliser la page d'authentification par exemple
// On affiche la page cachée.
$id = $_GET['id']; // La manipulation de $id est plus simple que celle de $_POST["id"]

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
  <title>Fiche d&eacute;taill&eacute;e du logiciel</title>
  <link href="scripts_styles/form.css" rel="stylesheet">
  <script language="javascript" src="scripts_styles/verif.js" type="text/javascript"></script>  
  </head>
  <body>
      <h1> Fiche logicielle a modifier</h1>
		<br />
<?
setLocale(LC_TIME, 'fr_FR', 'FRA'); // langue française pour la date

// ==============================================================
// On recupere la variable "id" correspondant au logiciel choisi
// ==============================================================
$id = $_GET["id"]; // La manipulation de $id est plus simple que celle de $_POST["id"]

// ==================================================
// On se connecte et on choisi la base de données
// ==================================================
mysql_pconnect("localhost","root","") or die ("Impossible de se connecter à MySQL");
mysql_select_db("txiki") or die("Impossible de sélectionner la base de données");

//=====================================================================================
// requête SQL qui affiche les infos de la fiche correspondante au lien cliqué 
//=====================================================================================
$jour = '$newDate';
$newDate = substr($jour,0,4).'/'.substr($jour,5,2).'/'.substr($jour,8,2);
$link = '$link';
$select = "select * FROM logiciels WHERE id='$id'"; // On selectionne seulement la ligne qui correspond au logiciel choisi 
$result = mysql_query($select)  or die ('Erreur : '.mysql_error() );
$row= mysql_fetch_row($result);  // mysql_fetch_row genere un tableau correspondant a la ligne selectionnée de la BDD
// Les informations sont accessibles par $row["id"], $row["nom"], $row["source"]...

// ===================================================
// Affichage de la fiche dans un tablea&u dynamique 
// ===================================================
  echo "<table class='tabliste' width='60%' bgcolor='#FFFFFF' border='1' cellspacing='0' cellpadding='3' align='center'>\n";
// première ligne on affiche le titre "Fiche logicielle" dans 2 colonnes fusionnées
        echo "<tr text-align='center' padding='3px' class='blanc'>";
        echo "<td colspan='2' bgcolor='#7F9DB9'><h2> Fiche logicielle </h2></td>";
        echo "</tr>\n";
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par lot de 2 lignes.    
  echo "<tr bgcolor='#FFA54A' text-align='center'>";
  echo "<td width='50%' class='td-fiche'> N° d'enregistrement: <strong>" .$row['0']."</strong></td>"; // première ligne  pour le n° d'enregistrement (id)
  echo "<td width='50%' class='td-fiche-droite'> Date d'enregistrement: <strong>" .$row['1']."</strong></td>"; // première ligne  pour le n° d'enregistrement (id)
  echo "<tr>";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Groupe: </strong>" .$row['2']."</td>"; // affiche le groupe du logiciel 
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Catégorie: </strong>" .$row['3']."</td>"; // affiche la catégorie du logiciel 
  echo "</tr>\n";
  echo "<tr>";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Source: </strong>" .$row['4']."</td>"; // affiche la source du logiciel 
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Editeur: </strong>" .$row['5']."</td>"; // affiche l'éditeur du logiciel 
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Nom: </strong>" .$row['6']."</td>"; // affiche le nom du logiciel 
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Ligne du produit: </strong>" .$row['7']."</td>"; // affiche le nom (interne) de la ligne produit
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Socle: </strong>" .$row['8']."</td>"; // affiche le socle nécessaire pour son installation
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Référence DSI: </strong>" .$row['9']."</td>"; // affiche la référence DSI (cat, ref etc...) 
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Standard DSI: </strong>" .$row['10']."</td>"; // affiche le standard de la DSI
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Type de licence: </strong>" .$row['11']."</td>"; // affiche le type de licence (flottante, etc...) 
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Version standard: </strong>" .$row['12']."</td>"; // affiche la version utilisée en standard à TM
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Compatibilité XP: </strong>" .$row['13']."</td>"; // affiche la compatibilité avec XP ou pas 
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Versions en exploitation: </strong>" .$row['14']."</td>"; // affiche le nombre de versions en exploitation
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Type de déploiement: </strong>" .$row['15']."</td>"; // affiche le type de déploiement 
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Type d'installation: </strong>" .$row['16']."</td>"; // affiche le type d'installation 
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Domaine: </strong>" .$row['17']."</td>"; // affiche le domaine d'application
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Fonctionnalité: </strong>" .$row['18']."</td>"; // affiche une courte description de sa fonctionnalité 
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Description: </strong>" .$row['19']."</td>"; // affiche une description plus détaillée 
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Instructions: </strong>" .$row['20']."</td>"; // affiche les instructions particulières s'il y en a
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Pré-requis: </strong>" .$row['21']."</td>"; // affiche les pré-requis nécessaires a son installation
  echo "</tr>\n";
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche'><strong>Référent métier: </strong>" .$row['22']."</td>"; // affiche le référent métier de l'application 
  echo "<td width='50%' bgcolor='#F0F0F0' class='td-fiche-droite'><strong>Commentaires: </strong>" .$row['23']."</td>"; // affiche des commentaires s'il y en a 
  echo "</tr>\n";
  echo "</table>\n";
    // fin du tableau.
mysql_close();
?>
    </form>
	<br />
      <table width="60%"  border="0" align="center" cellpadding="4" cellspacing="0">
        <tr>
          <td colspan="3" align="center"><img src="boutons-catalogue/valider-modification.png" width="150" height="21" onClick="document.location.href='insert_modifs.php'"></td>
        </tr>
        <tr>
          <td colspan="3" align="center"><a href="index.php"><img src="boutons-catalogue/accueil.png" alt="Retour &agrave; la page d'accueil" width="62" height="21" border="0"></a>&nbsp; <a href="liste.php"><img src="boutons-catalogue/afficher-catalogue.png" alt="Afficher la liste des logiciels du catalogue" width="139" height="21" border="0"></a>&nbsp; <a href="fiche_ajout.php"><img src="boutons-catalogue/ajouter.png" alt="Ajouter un logiciel au catalogue" width="116" height="21" border="0"></a>&nbsp;<a href="rechercher.php"><img src="boutons-catalogue/chercher-fiche.png" alt="Chercher un logiciel dans le catalogue" width="128" height="21" border="0"></a>&nbsp;<a href="javascript:history.go(-1)"><img src="boutons-catalogue/retour.png" alt="Retour &agrave; la page pr&eacute;c&eacute;dente" width="58" height="21" border="0"></a></td>
        </tr>
        <tr>
          <td align="center" width="35%">&nbsp;</td>
          <td align="center" bgcolor="#E5E5E5" width="30%">
<?
echo "Mis &agrave; jour le: ";
echo date("d - m - Y");
?>
          </td>
          <td align="center" width="35%">&nbsp;</td>
        </tr>
      </table>
  </body>
</html>
<?
}

else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title> Page protégée par mot de passe </title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link href="scripts_styles/form.css" rel="stylesheet">
    </head>
    <body>
  <p>&nbsp;</p>
<h1 align="center"> Cette page est réservée aux administrateurs uniquement ! </h1>
<h3 align="center" class="echec"> Veuillez entrer le login et mot de passe : </h3>
	<table width="300px"><tr>
	<form action="modification.php" method="post">
	<p align="center"><input type="text" name="login" /></p>
	<p align="center"><input type="password" name="mot_de_passe" /></p>
	<p align="center"><input type="submit" value="Valider" /></p>
	</form>
	</tr></table>
    </body>
</html>
<?
} // Fin du else
// Fin du code :)
?>

Je ne comprends pas d'où tu sort ce
`t_fiches`
?
Pourquoi ça fonctionne si bien pour "Fiche détaillée" et pas le reste ?
Si je vire le session start ça fonctionne aussi très bien! Donc, c'est bien là que ça queute !
J'ai 3 pages comme celle là: delete.php et fiche_ajout.php (c'est un formulaire).
Tout ce temps de prise de tête et de nuits blanches, ça me désespère !
Je voudrais bien utiliser ta correction mais je ne comprends pas tout, en particulier le début :
On commence par la page qui affiche les fiches, ici on pourra cliquer sur la fiche et la modifier ou la supprimer directement ("fiches.php") :

<?php
// on commence par déclarer ce qui va se passe si jamais on supprime des fiches
if(isset($_POST["id"]))
{
// on déclare les variables
$del_id = $_POST["id"];
// on se connecte à la base
mysql_connect("tonhost", "tonlogin", "tonmotdepasse");
mysql_select_db("tabasededonnees");
// un ou plusieurs enregistrements
foreach ($del_id as $valeur)
{
// on supprime
$sql = " DELETE FROM `t_fiches` WHERE id = ".$valeur." ";
$res = mysql_query($sql);
}
// on renvoi vers la page des fiches avec le message de confirmation
header("Location:fiches.php?mess=supp_ok");
}
?>
<html>
<body>
<?php

// on affiche ici les messages en fonction de ce qui s'est passé
if(isset($_GET["mess"]))
{
if($_GET["mess"] == "modif_ok") echo "Votre modification s'est correctement passée";
else if($_GET["mess"] == "supp_ok") echo "Votre suppression s'est correctement passée";
}
Sur quelle page je met ça ? liste.php (c'est le résumé avec les 3 liens pour chaque logiciels)
Quoique non puisque c'est la seule qui doit etre accessible à tous !

Merci encore infiniment pour ta patience.
-2