1 - J'ai corrigé toutes les fautes syntaxiques.
2 - J'ai mis en place l'indentation.
J'ai essayé de mettre des « echo » par-ci par-là mais aucuns d'eux ne s'affichait. Ce qui démontre que quelque chose ne va pas, vu que quand je valide mon formulaire, j’obtiens une page vide (ni message d'erreurs ou de succès). Peut-être que finalement le soucis ne se trouve pas dans le SQL mais dans la façon dont j'ai formé le PHP.
Je me demandais si ce n'était pas à cause du «
if (isset($_POST['env'])) » qui est dans le «
if(isset($_POST['submit'])) ».
Vu que lorsqu'on valide le « env » nous ne sommes plus dans le « submit », non
Donc voici le code, enfin la partie du code qui nous intéresse :
<?php
if(isset($_POST['submit']))
{
/*
****************************************************
* II. Répondre aux messages sélectionnés *
****************************************************
*/
if ($_POST['choix'] == 2)
{
If(mysql_num_rows($requete) < 1)
{
echo '<div class="error-box">Suppression impossible : Aucune entrée correspondante à cet ID n\'a été trouvée dans la base de donnée.</div>';
$err = 1;
}
if ($err != 1)
{
if (isset($_POST['env']))
{
// On vérifie que le champ sujet est bien remplis.
if((strlen($_POST['sujet']) < 5) || (strlen($_POST['sujet']) > 30))
{
$show_err[] = 'Le sujet doit être compris entre 5 et 30 caractères !<br /><br />';
$err = 1;
}
// On vérifie que le champ message est bien remplis.
if((strlen($_POST['message']) < 10) || (strlen($_POST['message']) > 3000))
{
$show_err[] = 'Le message doit être compris entre 5 et 3000 caractères !';
$err = 1;
}
if ($err != 1)
{
if (isset($_POST['option']))
{
$subject = $_POST['sujet'];
$message = $_POST['message'];
$headers = 'From: [email protected]' . "\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/plain; charset=utf-8'."\n";
$headers .= 'Content-Transfer-Encoding: 8bit' . "\n";
$headers .= 'Priority: urgent' . "\n";
$headers .= 'X-Priority: 1' . "\n";
foreach ($_POST['option'] as $id)
{
$id_cherche = mysql_query("SELECT * FROM contact WHERE id ='$id'");
}
while ($reponse = mysql_fetch_array($id_cherche))
{
$to = $reponse['email'];
mail($to,$subject,$message,$headers);
}
echo '<div class="success-box">Une réponse a été envoyée aux e-mails des messages sélectionnés.</div>';
}
else
{
echo '<div class="error-box">Désolé, mais aucune case n\'est cochée, vous ne pouvez donc pas « répondre ».</div>';
}
}
else
{
echo '<div class="error-box">';
echo join('',$show_err);
echo '</div>';
}
}
}
else
{
echo '<div class="error-box">Une erreur inconnue s\'est produite et la réponse n\'a pas pu être distribuée.</div>';
}
if (!isset($_POST['env']))
{
?>
<div class="ma-class">
<form action="members.php?page=admin&sp=contact" id="mon-id" method="post">
<div class="ma-class">RÉPONSE AUX MESSAGES</div>
<div>
<label for="sujet">Sujet :</label><input type="text" id="sujet" name="sujet"/>
</div>
<div style="margin-top: 12px,">
<label for="message">Message :</label><textarea name="message" rows="13" cols="40" id="message"></textarea>
</div>
<div class="ma-class">
<input type="submit" name="env" value="Envoyer"/>
</div>
</form>
</div>
<?php
}
}
}
### Ici se trouve la partie HTML basique du formulaire, les cases à cocher et les messages ###
1 - J'ai corrigé toutes les fautes syntaxiques.
2 - J'ai mis en place l'indentation.
J'ai essayé de mettre des « echo » par-ci par-là mais aucuns d'eux ne s'affichait. Ce qui démontre que quelque chose ne va pas, vu que quand je valide mon formulaire, j’obtiens une page vide (ni message d'erreurs ou de succès). Peut-être que finalement le soucis ne se trouve pas dans le SQL mais dans la façon dont j'ai formé le PHP.
Je me demandais si ce n'était pas à cause du « [i]if (isset($_POST['env']))[/i] » qui est dans le « [i]if(isset($_POST['submit']))[/i] ».
Vu que lorsqu'on valide le « env » nous ne sommes plus dans le « submit », non :?:
Donc voici le code, enfin la partie du code qui nous intéresse :
[php]<?php
if(isset($_POST['submit']))
{
/*
****************************************************
* II. Répondre aux messages sélectionnés *
****************************************************
*/
if ($_POST['choix'] == 2)
{
If(mysql_num_rows($requete) < 1)
{
echo '<div class="error-box">Suppression impossible : Aucune entrée correspondante à cet ID n\'a été trouvée dans la base de donnée.</div>';
$err = 1;
}
if ($err != 1)
{
if (isset($_POST['env']))
{
// On vérifie que le champ sujet est bien remplis.
if((strlen($_POST['sujet']) < 5) || (strlen($_POST['sujet']) > 30))
{
$show_err[] = 'Le sujet doit être compris entre 5 et 30 caractères !<br /><br />';
$err = 1;
}
// On vérifie que le champ message est bien remplis.
if((strlen($_POST['message']) < 10) || (strlen($_POST['message']) > 3000))
{
$show_err[] = 'Le message doit être compris entre 5 et 3000 caractères !';
$err = 1;
}
if ($err != 1)
{
if (isset($_POST['option']))
{
$subject = $_POST['sujet'];
$message = $_POST['message'];
$headers = 'From:
[email protected]' . "\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/plain; charset=utf-8'."\n";
$headers .= 'Content-Transfer-Encoding: 8bit' . "\n";
$headers .= 'Priority: urgent' . "\n";
$headers .= 'X-Priority: 1' . "\n";
foreach ($_POST['option'] as $id)
{
$id_cherche = mysql_query("SELECT * FROM contact WHERE id ='$id'");
}
while ($reponse = mysql_fetch_array($id_cherche))
{
$to = $reponse['email'];
mail($to,$subject,$message,$headers);
}
echo '<div class="success-box">Une réponse a été envoyée aux e-mails des messages sélectionnés.</div>';
}
else
{
echo '<div class="error-box">Désolé, mais aucune case n\'est cochée, vous ne pouvez donc pas « répondre ».</div>';
}
}
else
{
echo '<div class="error-box">';
echo join('',$show_err);
echo '</div>';
}
}
}
else
{
echo '<div class="error-box">Une erreur inconnue s\'est produite et la réponse n\'a pas pu être distribuée.</div>';
}
if (!isset($_POST['env']))
{
?>
<div class="ma-class">
<form action="members.php?page=admin&sp=contact" id="mon-id" method="post">
<div class="ma-class">RÉPONSE AUX MESSAGES</div>
<div>
<label for="sujet">Sujet :</label><input type="text" id="sujet" name="sujet"/>
</div>
<div style="margin-top: 12px,">
<label for="message">Message :</label><textarea name="message" rows="13" cols="40" id="message"></textarea>
</div>
<div class="ma-class">
<input type="submit" name="env" value="Envoyer"/>
</div>
</form>
</div>
<?php
}
}
}
### Ici se trouve la partie HTML basique du formulaire, les cases à cocher et les messages ###
[/php]