<body background="../images/fondrose1.gif">
<div align="center">
<p><img src="../titres/titreannonceespace.gif" width="600" height="100"></p></div>
<?php
if(isset($_POST['supprimer']))
{
$suppression = "DELETE FROM annonce WHERE id_utilisateur = 55";
}
/* On vérifie si le bouton d'envoi du formulaire a été cliqué */
if(isset($_POST['envoyer']))
{
// on récupère les données POST
$nomutilisateur = $_POST['nomutilisateur'];
$motpasse = (isset($_POST['motpasse']))?$_POST['motpasse']:null;
$nomutilisateur_ok = trim($nomutilisateur); // trim() supprime les espaces éventuels
// vérifie si le nom d'utilisateur existe déjà dans la base
$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
$total_nomutilisateur=mysql_num_rows($result);
$motpasse_ok = trim($motpasse); // trim() supprime les espaces éventuels
//vérifie si l'adresse mail existe déjà dans la base
$reponse="SELECT motpasse FROM login WHERE motpasse = '$motpasse_ok'";
$result=mysql_query($reponse);
$total_motpasse=mysql_num_rows($result);
if ($total_nomutilisateur == '' || $total_nomutilisateur != 1 || $total_motpasse == '' || $total_motpasse != 1)
{
// Action à adopter
?>
<p align="center"><font color="red">Il y a une ou plusieurs erreurs :</font></p>
<ul>
<?php
if ($total_nomutilisateur != 1 || $total_nomutilisateur == '') // Si le champ "nom utilisateur" est inconnu,
{
?>
<li>
<div align="center">Vous devez entrer un nom d'utilisateur valide pour votre annonce.</div>
</li>
<div align="center">
<?php
}
if ($total_motpasse != 1 && $total_motpasse == "") // Si le champ "mot de passe" est inconnu,
{
?>
</div>
<li>
<div align="center">Vous devez entrer un mot de passe valide pour votre annonce.</div>
</li>
<div align="center">
<?php
}
?>
</div>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p align="center">Nom d'utilisateur
<input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>">
</p>
<p align="center">Mot de passe
<input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php echo $motpasse ?>">
</p>
<p align="center">
<input name="envoyer" type="submit" id="envoyer" value="OK">
</p>
</form>
</ul>
<?php
}
else
{
$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
list($id_utilisateur) = mysql_fetch_row($result);
$choix="SELECT * FROM annonce,login WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($choix);
while($val=mysql_fetch_array($result)) { ?>
<p><table width="550" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000">
<tr>
<td width="424"><div align="left">
<p>Date :
<? $date= datefr($val['datesaisie']);echo $date; ?>
<br>
<? if($val['lieu']){ ?>
Lieu : <? echo $val['lieu']; ?><br>
<? } ?>
<br>
Annonce saisie par <b><? echo $val['nomutilisateur']; ?></b>
</p>
<p align="left">
<? if($val['email']){ ?>
E-mail : <? echo $val['email']; ?></a></b></strong><br>
<? } ?>
<? if($val['telephone']){ ?>
Téléphone : <? echo $val['telephone']; ?><br>
<? } ?>
<? if($val['annonce']){ ?>
<br>
<? echo $val['annonce']; ?><br>
<? } ?>
</p>
</p>
<form name="form2" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<input name="supprimer" type="submit" id="supprimer" value="Supprimer" >
</form>
</div></td></tr>
</table><? } ?> <? } ?>
<?php
}
else
{
?>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p align="center">Nom d'utilisateur
<input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>">
</p>
<p align="center">Mot de passe
<input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php if(isset($_POST['motpasse'])){echo $motpasse;} ?>">
</p>
<p align="center">
<input name="envoyer" type="submit" id="envoyer" value="OK">
</p>
</form>
<p align="center" class="Style1"> Copyright © CFAF 2005</p>
</div>
</body><? }?>
</html>
Pour info aucun message d'erreur, requete OK dans PhpMyAdmin
Ce n'est pas exactement la question que te posait pjl: ou es la fonction qui lance l'exécution du genre :au début du code si on appui sur le bouton supprimer
mysql_query($suppression):
if(isset($_POST['supprimer']))
{
$suppression = "DELETE FROM annonce WHERE id_utilisateur = 55";
mysql_query($suppression);
}
<html>
<head>
<title></title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->
</script>
<style type="text/css">
<!--
.Style1 {
font-size: 12px;
color: #999999;
}
.Style4 {color: #FFFFFF}
-->
</style>
</head>
<body background="../images/fondrose1.gif">
<div align="center">
<p><img src="../titres/titreannonceespace.gif" width="600" height="100"></p></div>
<?php
/* On vérifie si le bouton d'envoi du formulaire a été cliqué */
if(isset($_POST['envoyer']))
{
// on récupère les données POST
$nomutilisateur = $_POST['nomutilisateur'];
$motpasse = (isset($_POST['motpasse']))?$_POST['motpasse']:null;
$nomutilisateur_ok = trim($nomutilisateur); // trim() supprime les espaces éventuels
// vérifie si le nom d'utilisateur existe déjà dans la base
$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
$total_nomutilisateur=mysql_num_rows($result);
$motpasse_ok = trim($motpasse); // trim() supprime les espaces éventuels
//vérifie si l'adresse mail existe déjà dans la base
$reponse="SELECT motpasse FROM login WHERE motpasse = '$motpasse_ok'";
$result=mysql_query($reponse);
$total_motpasse=mysql_num_rows($result);
if ($total_nomutilisateur == '' || $total_nomutilisateur != 1 || $total_motpasse == '' || $total_motpasse != 1)
{
// Action à adopter
?>
<p align="center"><font color="red">Il y a une ou plusieurs erreurs :</font></p>
<ul>
<?php
if ($total_nomutilisateur != 1 || $total_nomutilisateur == '') // Si le champ "nom utilisateur" est inconnu,
{
?>
<li>
<div align="center">Vous devez entrer un nom d'utilisateur valide pour votre annonce.</div>
</li>
<div align="center">
<?php
}
if ($total_motpasse != 1 && $total_motpasse == "") // Si le champ "mot de passe" est inconnu,
{
?>
</div>
<li>
<div align="center">Vous devez entrer un mot de passe valide pour votre annonce.</div>
</li>
<div align="center">
<?php
}
?>
</div>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p align="center">Nom d'utilisateur
<input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>">
</p>
<p align="center">Mot de passe
<input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php echo $motpasse ?>">
</p>
<p align="center">
<input name="envoyer" type="submit" id="envoyer" value="OK">
</p>
</form>
</ul>
<?php
}
else
{
$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
list($id_utilisateur) = mysql_fetch_row($result);
$choix="SELECT * FROM annonce,login WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($choix);
while($val=mysql_fetch_array($result)) { ?>
<p><table width="550" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000">
<tr>
<td width="424"><div align="left">
<p>Date :
<? $date= datefr($val['datesaisie']);echo $date; ?>
<br>
<? if($val['lieu']){ ?>
Lieu : <? echo $val['lieu']; ?><br>
<? } ?>
<br>
Annonce saisie par <b><? echo $val['nomutilisateur']; ?></b>
</p>
<p align="left">
<? if($val['email']){ ?>
E-mail : <? echo $val['email']; ?></a></b></strong><br>
<? } ?>
<? if($val['telephone']){ ?>
Téléphone : <? echo $val['telephone']; ?><br>
<? } ?>
<? if($val['annonce']){ ?>
<br>
<? echo $val['annonce']; ?><br>
<? } ?>
</p>
</p>
<form name="form2" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<input name="supprimer" type="submit" id="supprimer" value="Supprimer" >
</form>
</div></td></tr>
</table><? } ?> <? } ?>
<?php
}
else
{
?>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p align="center">Nom d'utilisateur
<input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>">
</p>
<p align="center">Mot de passe
<input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php if(isset($_POST['motpasse'])){echo $motpasse;} ?>">
</p>
<p align="center">
<input name="envoyer" type="submit" id="envoyer" value="OK">
</p>
</form>
<p align="center" class="Style1"> Copyright © CFAF 2005</p>
</div>
</body><? }?>
<? if(isset($_POST['supprimer']))
{
$nomutilisateur = $_POST['nomutilisateur'];
$nomutilisateur_ok = trim($nomutilisateur);
$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
list($id_utilisateur) = mysql_fetch_row($result);
$suppression = "DELETE FROM annonce WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
mysql_query($suppression);
} ?>
</html>
Voila l'erreur quand je clique sur mon bouton Supprimer<html>
<head>
<title></title>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_preloadImages()
{
//v3.0
var d=document;
if(d.images)
{
if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0)
{
d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];
}
}
}
//-->
</script>
<style type="text/css">
<!--
.Style1 {
font-size: 12px;
color: #999999;
}
.Style4 {color: #FFFFFF}
-->
</style>
</head>
<body background="../images/fondrose1.gif">
<div align="center">
<p><img src="../titres/titreannonceespace.gif" width="600" height="100"></p></div>
<?php
/* On vérifie si le bouton d'envoi du formulaire a été cliqué */
if(isset($_POST['envoyer']))
{
// on récupère les données POST
$nomutilisateur = $_POST['nomutilisateur'];
$motpasse = (isset($_POST['motpasse']))?$_POST['motpasse']:null;
$nomutilisateur_ok = trim($nomutilisateur); // trim() supprime les espaces éventuels
// vérifie si le nom d'utilisateur existe déjà dans la base
$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
$total_nomutilisateur=mysql_num_rows($result);
$motpasse_ok = trim($motpasse); // trim() supprime les espaces éventuels
//vérifie si l'adresse mail existe déjà dans la base
$reponse="SELECT motpasse FROM login WHERE motpasse = '$motpasse_ok'";
$result=mysql_query($reponse);
$total_motpasse=mysql_num_rows($result);
if ($total_nomutilisateur == '' || $total_nomutilisateur != 1 || $total_motpasse == '' || $total_motpasse != 1)
{
// Action à adopter
?>
<p align="center"><font color="red">Il y a une ou plusieurs erreurs :</font></p>
<ul>
<?php
if ($total_nomutilisateur != 1 || $total_nomutilisateur == '') // Si le champ "nom utilisateur" est inconnu,
{
?>
<li>
<div align="center">Vous devez entrer un nom d'utilisateur valide pour votre annonce.</div>
</li>
<div align="center">
<?php
}
if ($total_motpasse != 1 && $total_motpasse == "") // Si le champ "mot de passe" est inconnu,
{
?>
</div>
<li>
<div align="center">Vous devez entrer un mot de passe valide pour votre annonce.</div>
</li>
<div align="center">
<?php
}
?>
</div>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p align="center">Nom d'utilisateur
<input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>">
</p>
<p align="center">Mot de passe
<input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php echo $motpasse ?>">
</p>
<p align="center">
<input name="envoyer" type="submit" id="envoyer" value="OK">
</p>
</form>
</ul>
<?php
}
else
{
$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
list($id_utilisateur) = mysql_fetch_row($result);
$choix="SELECT * FROM annonce,login WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($choix);
while($val = mysql_fetch_array($result))
{
?>
<p><table width="550" border="1" cellpadding="0" cellspacing="0" bordercolor="#990000">
<tr>
<td width="424"><div align="left">
<p>Date :
<?
$date= datefr($val['datesaisie']);
echo $date;
?>
<br>
<?
if($val['lieu'])
{
?>
Lieu : <? echo $val['lieu']; ?><br>
<?
}
?>
<br>
Annonce saisie par <b><? echo $val['nomutilisateur']; ?></b>
</p>
<p align="left">
<?
if($val['email'])
{
?>
E-mail : <? echo $val['email']; ?></a></b></strong><br>
<?
}
if($val['telephone'])
{
?>
Téléphone : <? echo $val['telephone']; ?><br>
<?
}
if($val['annonce'])
{
?>
<br>
<?
echo $val['annonce'];
?>
<br>
<?
}
?>
</p>
<form name="form2" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<input name="supprimer" type="submit" id="supprimer" value="Supprimer" >
</form>
</div></td></tr>
</table>
<?
}
}
}
/* Si au lieu du bouton d'envoi du formulaire on a cliqué sur supprimer */
elseif(isset($_POST['supprimer']))
{
$nomutilisateur = $_POST['nomutilisateur'];
$nomutilisateur_ok = trim($nomutilisateur);
$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
list($id_utilisateur) = mysql_fetch_row($result);
$suppression = "DELETE FROM annonce WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
mysql_query($suppression);
}
/* Si aucun bouton n'a encore été cliqué */
else
{
?>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p align="center">Nom d'utilisateur
<input name="nomutilisateur" type="text" id="nomutilisateur" maxlength="10" value="<?php if(isset($_POST['nomutilisateur'])){echo $nomutilisateur;} ?>">
</p>
<p align="center">Mot de passe
<input name="motpasse" type="text" id="motpasse" maxlength="10" value="<?php if(isset($_POST['motpasse'])){echo $motpasse;} ?>">
</p>
<p align="center">
<input name="envoyer" type="submit" id="envoyer" value="OK">
</p>
</form>
<p align="center" class="Style1"> Copyright © CFAF 2005</p>
</div>
</body>
<?
}
?>
</html> <form name="form2" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
<input type="hidden" name="nomutilisateur" value="<?php echo($nomutilisateur); ?>">
<input name="supprimer" type="submit" id="supprimer" value="Supprimer" >
</form>
Lorsque tu cliques sur le bouton [Supprimer], la variable $_POST est réinitialisée avec les valeurs envoyées par le formulaire concerné: or dans celui-ci, le nomutilisateur n'était défini nulle part puisque la seule valeur envoyée est celle du bouton submit.elseif(isset($_POST['supprimer']))
{
$nomutilisateur = $_POST['nomutilisateur'];
$nomutilisateur_ok = trim($nomutilisateur);
$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
list($id_utilisateur) = mysql_fetch_row($result);
$suppression = "DELETE FROM annonce WHERE id_utilisateur = '$id_utilisateur' ";
mysql_query($suppression);
}
Avec cette requete la suppression se fait bien mais le problème c'est que je supprime toutes les annonces de l'utilisateur (id_utilisateur).elseif(isset($_POST['supprimer']))
{
$nomutilisateur = $_POST['nomutilisateur'];
$nomutilisateur_ok = trim($nomutilisateur);
$reponse="SELECT nomutilisateur FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
list($id_utilisateur) = mysql_fetch_row($result);
$suppression = "DELETE FROM annonce WHERE id_utilisateur = '$id_utilisateur' && nomutilisateur = '$nomutilisateur_ok'";
mysql_query($suppression);
}
Avec cette requete aucune suppression Pourquoi ?if(!mysql_query($requete))
{
echo("<p>La requête a échoué</p>\n");
}
Si tu as le message d'erreur, remonte dans le code: vérifie la valeur de tes variables en faisant afficher ta requête à l'écran pour voir si elle a l'air normale. Si tu as une variable vide, c'est une source possible d'erreur.elseif(isset($_POST['supprimer']))
{
$nomutilisateur = $_POST['nomutilisateur'];
$nomutilisateur_ok = trim($nomutilisateur);
$reponse="SELECT id FROM login WHERE nomutilisateur = '$nomutilisateur_ok'";
$result=mysql_query($reponse);
list($id) = mysql_fetch_row($result);
$reponse="SELECT IDlogin FROM annonce WHERE id_utilisateur = '$id'";
$result=mysql_query($reponse);
list($IDlogin) = mysql_fetch_row($result);
$suppression = "DELETE FROM annonce,login WHERE IDlogin = '$IDlogin'";
mysql_query($suppression);
Par contre la je supprime la derniere annonce de l'utilisateur.