Et sans :
foreach($message as $msg)
echo $msg . '<br />';
ça marchera ?
car j'ai écris le code comme cela:
<?php
session_start();
require('../include/connexionpdo.inc.php');
// Redirige l'utilisateur s'il est pas identifié
if(!isset($_SESSION['id']))
{
header('Location: /index.php');
exit();
}
else
{
// Formulaire visible par défaut
$masquer_formulaire = false;
if(isset($_POST["message"]) AND isset($_POST["titre"]) AND isset($_POST["departement"]) AND isset($_POST["contact"]))
{
$aErrors = array();
// Vérification de la validité des champs
if(!preg_match("/^[A-Za-z0-9\sÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ'._-]{1,}$/", $_POST["titre"]))
{
$aErrors['titre'] = "Votre titre n'est pas rempli";
$erreurCritique++;
}
if(!preg_match("/^[A-Za-z0-9\sÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ@',._-]{1,}$/", $_POST["message"]))
{
$aErrors['message'] = "Votre description n'est pas rempli";
$erreurCritique++;
}
if(!preg_match("/^[A-Za-z0-9\sÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ_-]{1,}$/", $_POST["departement"]))
{
$aErrors['departement'] = "Votre département n'est pas selectionné";
$erreurCritique++;
}
if(!preg_match("/^[A-Za-z0-9\sÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ@._-]{1,}$/", $_POST["contact"]))
{
$aErrors['contact'] = "Votre champs contact n'a pas été rempli";
$erreurCritique++;
}
if(!preg_match("/^[A-Za-z0-9.€]{1,}$/", $_POST["prix"]))
{
$aErrors['prix'] = "Votre champ prix n'est pas correctement rempli";
}
if( $erreurCritique === 0 )
{
$gamme = htmlspecialchars($_POST["cliocompe"]);
$titre = htmlspecialchars($_POST["titre"]);
$description = htmlspecialchars($_POST["message"]);
$departement = htmlspecialchars($_POST["departement"]);
$contact = htmlspecialchars($_POST["contact"]);
$prix = htmlspecialchars($_POST["prix"]);
// Création du compte utilisateur
$query=$db->prepare('INSERT INTO annonce (
gamme
, titre
, description
, contact
, departement
, prix
)
VALUES (:gamme, :titre, :description, :contact, :departement, :prix)');
$query->bindValue(':gamme', $gamme, PDO::PARAM_STR);
$query->bindValue(':titre', $titre, PDO::PARAM_STR);
$query->bindValue(':description', $description, PDO::PARAM_STR);
$query->bindValue(':departement', $departement, PDO::PARAM_STR);
$query->bindValue(':contact', $contact, PDO::PARAM_STR);
$query->bindValue(':prix', $prix, PDO::PARAM_STR);
$query->execute();
// Si une erreur survient
if(!$query)
{
$messageok = "Erreur d'accès à la base de données lors de la création de votre annonce";
}
else
{
// Message de confirmation
$messageok = "Votre annonce a correctement été créer";
// On masque le formulaire
$masquer_formulaire = true;
}
}
}
}
$titre = "Véhicule de compétition - clio";
require('../include/debut-xhtml.inc.php');
?>
<!-- espace membre -->
<div class="espacemembre">
<?php
if(!empty($_COOKIE['connexion_automatique'])&& !empty($_COOKIE['pass']))
{
if (false !== $_COOKIE['pass'])
{
$query=$db->prepare('SELECT id_comptes_utilisateurs, Nom_Utilisateur, Mot_de_Passe, hash_cookie
FROM Comptes_Utilisateurs
WHERE Mot_de_Passe = :connexion_automatique');
$query->bindValue(':connexion_automatique',$_COOKIE['pass'], PDO::PARAM_STR);
$query->execute();
if ($row = $query->fetch(PDO::FETCH_ASSOC))
{
if($_COOKIE['connexion_automatique'] == $row["hash_cookie"])
{
$_SESSION['id']=$row["id_comptes_utilisateurs"];
$_SESSION['id_nom']=$row["Nom_Utilisateur"];
}
if($_COOKIE['connexion_automatique'] != $row["hash_cookie"])
{
setcookie("connexion_automatique", "", time() - 3600, "/");
setcookie("pass", "", time() - 3600, "/");
}
}
}
}
if(!empty($_SESSION['id'])) {
?>
<p class="deconnexion">
<strong>[ <?php echo htmlspecialchars($_SESSION['id_nom'], ENT_QUOTES, 'UTF-8'); ?> ]</strong>
<a href="/jmc-competition/user/deconnexion.php">Déconnexion</a><hr />
<p><img src="../image/control.gif" alt="espace membre" title="espace membre" /><a class="accueil" href="../user/page_membre.php">-Espace utilisateur</a></p>
<p><img src="../image/poster-annonce.png" alt="poster annonce" title="poster annonce" /><a class="accueil" href="poster-annonce.php">-Poster une annonce</a></p>
<?php }
else
{
require ('../include/connexion.inc.php');
}
?>
</div>
<!-- corps -->
<?php
$query->CloseCursor();
?>
<h2>PASSER VOTRE ANNONCE</h2>
<p>
Vous pouvez passer votre annonce ci dessous :<br /><br /><br />
</p>
<div id="formulaire_annonce">
<p class="centre"><strong>VEHICULE DE COMPETITION :</strong></p><hr />
<?php if(isset($messageok)) { ?>
<h3 class="rouge"><?php echo htmlspecialchars($messageok); ?></h3>
<?php } if($masquer_formulaire != true) { ?>
<p class="rouge">* : Renseignements obligatoires</p>
<form id="formannonce" action="http://<?php echo htmlspecialchars($_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]); ?>" method="post" enctype="multipart/form-data">
<fieldset>
<legend>Détail de l'annonce :</legend>
<label for="titre"><strong>Titre * :</strong></label><?php if(isset($aErrors['titre'])) { ?>
<p class="rouge"><?php echo htmlspecialchars($aErrors['titre']); ?></p><?php }?>
<input type="text" name="titre" size="40"
maxlength="40" id="titre" value="<?php if(isset($_POST['titre'])){echo htmlspecialchars($_POST['titre'], ENT_QUOTES, 'UTF-8');} ?>" />
<label for="message"><strong>Description * :</strong></label><?php if(isset($aErrors['message'])) { ?>
<p class="rouge"><?php echo htmlspecialchars($aErrors['message']); ?></p> <?php }?>
<textarea name="message" id="message"cols='60' rows='3' maxlength="1000"><?php if(isset($_POST['message'])){echo htmlspecialchars($_POST['message']);} ?></textarea>
<label for="prix"><strong>Prix :</strong></label>
<input type="text" name="prix" size="40"
maxlength="40" id="prix" />
<?php if(isset($aErrors['prix'])) { ?>
<p class="rouge"><?php echo htmlspecialchars($aErrors['prix']); ?></p><?php }?>
</fieldset>
<fieldset>
<legend>Vos coordonnées :</legend>
<label for="contact"><strong>Contact * :</strong></label><?php if(isset($aErrors['contact'])) { ?>
<p class="rouge"><?php echo htmlspecialchars($aErrors['contact']); ?></p> <?php }?>
<input type="text" name="contact" size="40"
maxlength="40" id="contact" value="<?php if(isset($_POST['contact'])){echo htmlspecialchars($_POST['contact'], ENT_QUOTES, 'UTF-8');} ?>" />
<label for="departement"><strong>Département * :</strong></label>
<select name="departement" id="departement">
<option value="" >-- Choisir --</option>
<option value="01 - Ain">01 - Ain</option>
<option value="02 - Aisne">02 - Aisne</option>
<option value="03 - Allier">03 - Allier</option>
<option value="04 - Alpes de Hautes-Provence">04 - Alpes de Hautes-Provence</option>
<option value="05 - Hautes-Alpes">05 - Hautes-Alpes</option>
<option value="06 - Alpes-Maritimes">06 - Alpes-Maritimes</option>
<option value="07 - Ardèche">07 - Ardèche</option>
<option value="08 - Ardennes">08 - Ardennes</option>
<option value="09 - Ariège">09 - Ariège</option>
<option value="10 - Aube">10 - Aube</option>
<option value="11 - Aude">11 - Aude</option>
<option value="12 - Aveyron">12 - Aveyron</option>
<option value="13 - Bouches-du-Rhône">13 - Bouches-du-Rhône</option>
<option value="14 - Calvados">14 - Calvados</option>
<option value="15 - Cantal">15 - Cantal</option>
<option value="16 - Charente">16 - Charente</option>
<option value="17 - Charente-Maritime">17 - Charente-Maritime</option>
<option value="18 - Cher">18 - Cher</option>
<option value="19 - Corrèze">19 - Corrèze</option>
<option value="2A - Corse-du-Sud">2A - Corse-du-Sud</option>
<option value="2B - Haute-Corse">2B - Haute-Corse</option>
<option value="21 - Côte-d'Or">21 - Côte-d'Or</option>
<option value="22 - Côtes d'Armor">22 - Côtes d'Armor</option>
<option value="23 - Creuse">23 - Creuse</option>
<option value="24 - Dordogne">24 - Dordogne</option>
<option value="25 - Doubs">25 - Doubs</option>
<option value="26 - Drôme">26 - Drôme</option>
<option value="27 - Eure">27 - Eure</option>
<option value="28 - Eure-et-Loir">28 - Eure-et-Loir</option>
<option value="29 - Finistère">29 - Finistère</option>
<option value="30 - Gard<">30 - Gard</option>
<option value="31 - Haute-Garonne">31 - Haute-Garonne</option>
<option value="32 - Gers">32 - Gers</option>
<option value="33 - Gironde">33 - Gironde</option>
<option value="34 - Hérault">34 - Hérault</option>
<option value="35 - Ille-et-Vilaine">35 - Ille-et-Vilaine</option>
<option value="36 - Indre">36 - Indre</option>
<option value="37 - Indre-et-Loire">37 - Indre-et-Loire</option>
<option value="38 - Isère">38 - Isère</option>
<option value="39 - Jura">39 - Jura</option>
<option value="40 - Landes">40 - Landes</option>
<option value="41 - Loir-et-Cher">41 - Loir-et-Cher</option>
<option value="42 - Loire">42 - Loire</option>
<option value="43 - Haute-Loire">43 - Haute-Loire</option>
<option value="44 - Loire-Atlantique">44 - Loire-Atlantique</option>
<option value="45 - Loiret">45 - Loiret</option>
<option value="46 - Lot">46 - Lot</option>
<option value="47 - Lot-et-Garonne">47 - Lot-et-Garonne</option>
<option value="48 - Lozère">48 - Lozère</option>
<option value="49 - Maine-et-Loire">49 - Maine-et-Loire</option>
<option value="50 - Manche">50 - Manche</option>
<option value="51 - Marne">51 - Marne</option>
<option value="52 - Haute-Marne">52 - Haute-Marne</option>
<option value="53 - Mayenne">53 - Mayenne</option>
<option value="54 - Meurthe-et-Moselle">54 - Meurthe-et-Moselle</option>
<option value="55 - Meuse">55 - Meuse</option>
<option value="56 - Morbihan">56 - Morbihan</option>
<option value="57 - Moselle">57 - Moselle</option>
<option value="58 - Nièvre">58 - Nièvre</option>
<option value="59 - Nord">59 - Nord</option>
<option value="60 - Oise">60 - Oise</option>
<option value="61 - Orne">61 - Orne</option>
<option value="62 - Pas-de-Calais">62 - Pas-de-Calais</option>
<option value="63 - Puy-de-Dôme">63 - Puy-de-Dôme</option>
<option value="64 - Pyrénées-Atlantiques">64 - Pyrénées-Atlantiques</option>
<option value="65 - Hautes-Pyrénées">65 - Hautes-Pyrénées</option>
<option value="66 - Pyrénées-Orientales">66 - Pyrénées-Orientales</option>
<option value="67 - Bas-Rhin">67 - Bas-Rhin</option>
<option value="68 - Haut-Rhin">68 - Haut-Rhin</option>
<option value="69 - Rhône">69 - Rhône</option>
<option value="70 - Haute-Saône">70 - Haute-Saône</option>
<option value="71 - Saône-et-Loire">71 - Saône-et-Loire</option>
<option value="72 - Sarthe">72 - Sarthe</option>
<option value="73 - Savoie">73 - Savoie</option>
<option value="74 - Haute-Savoie">74 - Haute-Savoie</option>
<option value="75 - Paris">75 - Paris</option>
<option value="76 - Seine-Maritime">76 - Seine-Maritime</option>
<option value="77 - Seine-et-Marne">77 - Seine-et-Marne</option>
<option value="78 - Yvelines">78 - Yvelines</option>
<option value="79 - Deux-Sèvres">79 - Deux-Sèvres</option>
<option value="80 - Somme">80 - Somme</option>
<option value="81 - Tarn">81 - Tarn</option>
<option value="82 - Tarn-et-Garonne">82 - Tarn-et-Garonne</option>
<option value="83 - Var">83 - Var</option>
<option value="84 - Vaucluse">84 - Vaucluse</option>
<option value="85 - Vendée">85 - Vendée</option>
<option value="86 - Vienne">86 - Vienne</option>
<option value="87 - Haute-Vienne">87 - Haute-Vienne</option>
<option value="88 - Vosges">88 - Vosges</option>
<option value="89 - Yonne">89 - Yonne</option>
<option value="90 - Territoire-de-Belfort">90 - Territoire-de-Belfort</option>
<option value="91 - Essonne">91 - Essonne</option>
<option value="92 - Hauts-de-Seine">92 - Hauts-de-Seine</option>
<option value="93 - Seine-Saint-Denis">93 - Seine-Saint-Denis</option>
<option value="94 - Val-de-Marne">94 - Val-de-Marne</option>
<option value="95 - Val-d'Oise">95 - Val-d'Oise</option>
</select>
<?php if(isset($aErrors['departement'])) { ?>
<p class="rouge"><?php echo htmlspecialchars($aErrors['departement']); ?></p> <?php }?>
</fieldset>
<fieldset>
<legend>Votre photo :</legend>
<p>
<strong>Photo :</strong> <input type="file" name="avatar" />
</p>
</fieldset>
<p>
<input type="submit" value="Envoyer" />
</p>
</form>
</div>
<?php require ('../include/footer.inc.php');
} ?>
Et quand je rempli le formulaire en oubliant volontairement d'oublier des champs obligatoires j'ai bien les message qui s'affiche en me disant que j'ai oublier de remplir le titre.... mais tout en haut de ma page j'ai une erreur me disant
Notice: Undefined variable: erreurCritique in C:\wampserver\............................. pour cette ligne
$erreurCritique++;