Page 1 sur 1

Suppression dans une Base de Donnée

Posté : 01 mars 2015, 04:37
par Super_Isma
Bonjour, je dois realiser un site internet pour mon projet de terminal BTS IRIS et je cherche a faire une page qui affiche et grace a un bouton, peut supprimer un utlisateur mais m'affiche "DELETE FROM clients WHERE NumeroCarte = La suppression à échouée"

voici mon code:

index.php

<?php
include("config.php");
?>

<!DOCTYPE HTML >
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

<head>

<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'>

<title>JAIR MARKET</title>

<script language="javascript">

function confirme( NumCarte )
{
var confirmation = confirm( "Voulez vous vraiment supprimer cet enregistrement ?" ) ;
if( confirmation )
{
document.location.href = "Suppression.php?NumeroCarte="+NumCarte ;
}
}

</script>

</head>

<body>

<div id="bloc_page">

<!------------------------------------ HEADER ET BANNIERE---------------------------->

<header>

<table width="904" bgcolor="#BBB7B7">
<tr>
<td width="218">
<a href="../../index.html"><img src="../../Images/logofinale.png" align="left" width="218" height="115" id="logo"/>
</td>

<td width="674">
<h1 align="center">
<div>
<ul id="nav"><!--

--><li><a href="../../Client/index.php">Compte clients</a></li><!--
--><li><a href="../../Pro/index.php">Compte professionel</a></li><!--
--><li><a href="../../Information/index.php">Contact</a></li>
</ul>
</div>
</h1>
</td>

</table>


</header>

<!-------------------------- FIN HEADER ET BANNIERE -------------------------------->


<div id="contenu">
<div style="clear:both"></div>


<?php

$result = mysql_query("SELECT Nom,NumeroCarte,CodePostal,Coupon,Valeur FROM clients");
$nblignes = mysql_num_rows($result);



echo "</br></br>

<table width='897' bgcolor='#BBB7B7'>
<td>
<tr>

<td>Nom</td>
<td>Numero Carte</td>
<td>Code Postal</td>
<td>Coupon</td>
<td>Valeur des Coupon</td>
<td>Supprimer</td></tr>\n";

for ($i=0;$i<$nblignes;$i=$i+1)
{
$Nom = mysql_result($result,$i,"Nom");
$NumeroCarte = mysql_result($result,$i,"NumeroCarte");
$CodePostal = mysql_result($result,$i,"CodePostal");
$Coupon = mysql_result($result,$i,"Coupon");
$Valeur = mysql_result($result,$i,"Valeur");
$Date = mysql_result($result,$i,"Date");

echo "<tr><td></br>$Nom</td><td></br>$NumeroCarte><td></br>$CodePostal</td><td></br>$Coupon</td><td></br>$Valeur><td></br>$Date</td><td><a href=\"#\" onClick=\"confirme('".$NumeroCarte"')\" >Supprimer</a></td></tr> ";

}

?>





</html>



Suppression.php:

<?php
include("config.php");
?>

<?php
//connection au serveur:
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "magasin" ) ;

//récupération de la variable d'URL,
//qui va nous permettre de savoir quel enregistrement supprimer:
$NumeroCarte = $_GET["NumeroCarte"] ;

//requête SQL:
$sql = "DELETE FROM clients WHERE NumCarte = ".$NumeroCarte ;
echo $sql ;
//exécution de la requête:
$requete = mysql_query( $sql, $cnx ) ;

//affichage des résultats, pour savoir si la suppression a marchée:
if($requete)
{
echo("La suppression à été correctement effectuée") ;
}
else
{
echo("La suppression à échouée") ;
}
?>

Re: Suppression dans une Base de Donnée

Posté : 01 mars 2015, 15:25
par tof73
le message qui s'affiche :
DELETE FROM clients WHERE NumeroCarte =
il manque donc le numerocarte, la requete est invalide, donc cela ne peut retourner que false.
une fois que c'est corrigé, se demander ce qu'il se passe si l'on rentrer '4565 or 1' comme NumeroCarte au paramètre GET NumeroCarte

Re: Suppression dans une Base de Donnée

Posté : 01 mars 2015, 16:57
par Super_Isma
$sql = "DELETE FROM clients WHERE NumCarte = ".$NumeroCarte ;

C'est sa la requête, mais elle ne marche pas.

Re: Suppression dans une Base de Donnée

Posté : 02 mars 2015, 17:21
par PortgasDKiba
Dans un premier temps il faudrait sécuriser ton $_GET['NumeroCarte'] par un mysq_real_escape_string (idéalement il faudrait même passer à mysqli ou pdo)...

Tu as fait un echo de $NumeroCarte quand tu fais Suppression.php?NumeroCarte=1 ça retourne quoi ?

Re: Suppression dans une Base de Donnée

Posté : 02 mars 2015, 23:58
par Nestecha
$sql = "DELETE FROM clients WHERE NumCarte = '$NumeroCarte'";

A tout hasard ?

Re: Suppression dans une Base de Donnée

Posté : 03 mars 2015, 01:42
par Super_Isma
Quelqu'un de ma classe a trouvé mon erreur.

<a href=\"#\" onClick=\"confirme('".$NumeroCarte"')
<a href=\"#\" onClick=\"confirme('".$NumeroCarte."')

Il manquais juste un point. :(

Merci a tous pour votre aide =)