par
Cyrano » 25 mai 2005, 20:51
Bon, je crois qu'on va y arriver, petit conseil: quand tu fais du code, soigne l'indentation, ça facilite particulièrment la lecture. J'ai déplacé un if qui est du coup devenu un elseif, tu devrait facilement comprendre le pourquoi et ça va normalement supprimer l'erreur... à vérifier;
<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>
Bon, je crois qu'on va y arriver, petit conseil: quand tu fais du code, soigne l'indentation, ça facilite particulièrment la lecture. J'ai déplacé un if qui est du coup devenu un elseif, tu devrait facilement comprendre le pourquoi et ça va normalement supprimer l'erreur... à vérifier;
[php]<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> [/php]