Salut,
Pour éviter d'insérer ou modifier un enregistrement de ta table lors d'un refresh simple de la page, tu dois contrôler tes variables post correctement.
Exemple tu as écrit :
include("connexion.php");
mysql_select_db ('agent') ;
$nouveau_agent=isset($_POST['nouveau_agent'])?$_POST['nouveau_agent']:"";
$sql = "SELECT * FROM `agent` WHERE 1";
$nouveau =mysql_query("insert into agent (id,agent) values ('','$nouveau_agent')");
mysql_close();
Ce que je propose :
// Ca ne sert à rien d'inclure à nouveau ton fichier de connexion, tu l'as fait plus haut
// include("connexion.php");
// Ca ne sert à rien de sélectionner ta base, tu l'as fait plus haut
// mysql_select_db ('agent') ;
if (isset($_POST['nouveau_agent']) AND !empty ($_POST['nouveau_agent'])) {
$nouveau_agent=$_POST['nouveau_agent'];
// ICI je vois pas trop l'interêt de sélectionner ta table ...
// $sql = "SELECT * FROM `agent` WHERE 1";
// Si l'id est autoincrémentée dans mysql, ça ne sert à rien de l'appeler, elle s'incrémentera tout de même.
// $nouveau =mysql_query("insert into agent (id,agent) values ('','$nouveau_agent')");
$nouveau =mysql_query("insert into agent (agent) values ('$nouveau_agent')");
mysql_close();
}
Je te conseille vivement de revoir la structure de ta page et corriger les erreurs !
Exemple d'erreur (voir la gestion des variables POST plus haut + corrections gestion SQL de ton fichier.
Tu as ecris :
<? $table="agent";
$query = "SELECT agent FROM $table ORDER BY `id` DESC ";
$result = mysql_query($query);
?>
<? $table="agent";
$query = "SELECT id FROM $table ORDER BY `id` DESC LIMIT 0, 30 ";
$result2 = mysql_query($query);
?>
Je te conseille (sans avoir regardé tout ton code et en ne connaissant pas les implications):
<?
$table="agent";
$query = "SELECT id, agent FROM $table ORDER BY `id` DESC LIMIT 0, 30 ";
$result = mysql_query($query);
?>
Voili, voilou ...
A toi de jouer
