Des données dans une base MySql disparaissent sans que je sache pourquoi !
J'ai une interface sécurisée (enfin je pense!) mais je pense que quelque chose ou quelqu'un arrive a acceder au requete DROP dans certaine page et je pert des données.
Je ne pense pas que le problème viennent de la sécurité MySql qui se trouve chez un des plus gros hébergeur du marché. Le problème vient sans doute de mon code mais je sais pas comment résoudre le problème.
Voici le code des pages en question :
-------------------------------------------
Une premiere page qui affiche les donne d'une table
<?php
include '../include/connexion_db.php';
include 'valid_login.php';
include 'admin_variables_globales.php';
?>
<HTML>
<HEAD>
<LINK rel="stylesheet" href="admin_config.css">
</HEAD>
<BODY BGCOLOR="000000" TEXT="7D7D7D" LINK="7D7D7D" VLINK="7D7D7D" ALINK="7D7D7D" BOTTOMMARGIN="0" RIGHTMARGIN="0" LEFTMARGIN="0" MARGINWIDTH="0" TOPMARGIN="0" MARGINHEIGHT="0">
<BR>
<TABLE ALIGN="CENTER" BORDER="0" CELLPADDING="1" CELLSPACING="0" WIDTH=95%>
<?php
$query = "SELECT PIS_ID, PIS_ETAT, PIS_NOM, PIS_PRIX, PIS_SOUS_CATEGORIE, PIS_STOCK FROM piscines";
$result = mysql_query($query);
$color= "#2C2C2C";
while ( ($row = mysql_fetch_row($result)) )
{
$id = $row[0];
$etat = $row[1];
$nom = $row[2];
$prix = $row[3];
$sous_categorie_id = $row[4];
$stock = $row[5];
$query_sous_cat = "SELECT SOU_CAT_NOM FROM sous_categories WHERE SOU_CAT_ID = '$sous_categorie_id'";
$result_sous_cat = mysql_query($query_sous_cat);
$row_sous_cat = mysql_fetch_row($result_sous_cat);
$sous_categorie_nom = $row_sous_cat[0];
/***********************************************************************************************************************
AFFICHAGE DES LIGNES
***********************************************************************************************************************/
if ($color=="#2C2C2C"){$color="#222222";}
else{$color="#2C2C2C";}
?>
<TR>
<TD VALIGN=TOP WIDTH=60 ALIGN=LEFT BGCOLOR="<?PHP echo $color; ?>"> <?PHP echo $etat; ?></TD>
<TD VALIGN=TOP ALIGN=LEFT BGCOLOR="<?PHP echo $color; ?>"><?PHP echo $sous_categorie_nom; ?></TD>
<TD ALIGN=LEFT BGCOLOR="<?PHP echo $color; ?>"><?PHP echo $nom; ?></TD>
<TD ALIGN=LEFT BGCOLOR="<?PHP echo $color; ?>">dès <?PHP echo $prix; ?> CHF</TD>
<TD ALIGN=LEFT BGCOLOR="<?PHP echo $color; ?>"><?PHP echo $stock; ?> pièce(s) en stock</TD>
<TD VALIGN=TOP WIDTH=20 ALIGN=CENTER BGCOLOR="<?PHP echo $color; ?>"><A HREF="piscines_edit.php?id=<?PHP echo $id; ?>"><IMG SRC="b_edit.png" border=0></A></TD>
<TD VALIGN=TOP WIDTH=20 ALIGN=CENTER BGCOLOR="<?PHP echo $color; ?>"><A HREF="piscines_drop.php?id=<?PHP echo $id; ?>"><IMG SRC="b_drop.png" border=0></A></TD>
</TR>
<?PHP
}
?>
</TABLE>
</BODY>
</HTML>
<?php include '../include/deconnexion_db.php'; ?>
la page piscines_drop.php qui permet de supprimer un article en fonction de $id
<?php
include '../include/connexion_db.php';
include 'valid_login.php';
include 'admin_variables_globales.php';
?>
<HTML>
<BODY>
<?php
if ( isset( $_GET['id'] )) $id = $_GET['id'];
$query = "DELETE FROM piscines WHERE PIS_ID = '$id'";
$result = mysql_query($query);
echo "<script language='javascript' type='text/javascript'>\n
window.location.replace('piscines.php?modif_info=drop');\n
</script>";
?>
</BODY>
</HTML>
<?PHP include('../include/deconnexion_db.php'); ?>
la page connexion_db.php qui fourni les accès a MySql
<?php
session_start();
$db_host = "mysql.monsite.ch";
$db_user = "user";
$db_pass = "pass";
$db_name = "nomdeladb";
mysql_connect($db_host, $db_user, $db_pass);
mysql_select_db($db_name);
?>
la page deconnexion_db.php fait juste un <?php mysql_close(); ?>
la page valid_login.php check juste sur la personne est bien passé par le login et non par l'url direct d'une page
<?PHP
if ( isset ($_SESSION['login'] ) ){}
else
{ echo "<script language='javascript' type='text/javascript'>\n
window.location.replace('index.php');\n
</script>";
}
?>
Voila si quelqu'un peu prendre quelques minutes pour moi je lui en serai extrêmement reconnaissant !
Merci beaucoup.
bonne soirée.
David