1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
| <?php include "css-pages-communes.php"; ?>
table { width: 830px; height: auto; border: 1px solid black; border-spacing: 0px; border-radius: 10px; margin-left: auto; margin-right: auto; text-align: center;}
th { border: 1px solid black; padding: 5px; background-color: red;}
table tbody tr td { border: 1px solid black; padding: 5px;}
table tbody tr:hover td { background-color: rgb(21, 21, 21);
background-color: rgba(21, 21, 21, 0.8);}
.th1 { border-radius: 10px 0px 0px 0px; width: 5%;}
.th2 { width: 12%;}
.th3 { width: 23%;}
.th4 { border-radius: 0px 10px 0px 0px; width: 60%;}
.th5 { border-radius: 0px 0px 0px 10px;}
.th6 { border-radius: 0px 0px 10px 0px;}
.pair { background-color: red;}
.impair { background-color: black;}
<?php include "aspect-pages-communes.php"; ?>
<div id="haut">
<div id="marge">
<h3>Bienvenue sur notre forum de discussion</h3>
<p>Vous avez des questions nous concernant, n'hésitez pas à vous exprimez dans ce forum.<br>
N'oubliez pas, vous devez d'abord vous identifiez en créant ou en vous connectant à <a href="mon-compte.php" target=_blank>votre compte Kibéos</a>.
<form action="forum.php" method="post" name="forum">
<label for="pseudo">Pseudo</label>
<input type="text" name="pseudo" size="106" maxlength="30"><br>
<label for="sujet">Sujet</label>
<input type="text" name="sujet" size="106" maxlength="106"><br>
<label for="message">Message</label>
<textarea name="message" rows="4" cols="80" maxlength="300" wrap="hard" placeholder="Exprimez-vous"></textarea><br><br><br>
<input type="submit" value="Envoyer" name="submit">
<input type="reset" value="Annuler">
</form>
</div>
<?php
// On vérifie que le formulaire vient d'être envoié.
if (!isset($_POST['submit']))
{
}
// On regarde si nos variables ne sont pas vides.
elseif ((isset($_POST['submit'])) && (!empty($_POST['pseudo'])) && (!empty($_POST['sujet'])) && (!empty($_POST['message'])))
{
// On teste la conformité d'écriture des champs.
// Pseudo
$_POST['pseudo'] = htmlspecialchars($_POST['pseudo']);
if (preg_match("#^[a-zA-Z0-9éèàêâùïüëô.-_]{3,30}$#", $_POST['pseudo']))
{
// Sujet
$_POST['sujet'] = htmlspecialchars($_POST['sujet']);
if (preg_match("#^[a-zA-Z0-9éèàêâùïüëô;,.\"\'() _-]{3,106}$#", $_POST['sujet']))
{
// Message
$_POST['message'] = htmlspecialchars($_POST['message']);
if (preg_match("#^[a-zA-Z0-9éèàêâùïüëô;,.\"\'() _-]{3,300}$#", $_POST['message']))
{
// Insertion des informations dans la base de données
$bdd = new PDO('mysql:host=.....;dbname=.....', '......', '......');
$req = $bdd->prepare('INSERT INTO forum(pseudo, sujet, message, datforum) VALUE(:pseudo, :sujet, :message, NOW())');
$req->execute(array(
'pseudo' => $_POST['pseudo'],
'sujet' => $_POST['sujet'],
'message' => $_POST['message']));
}
else
{
echo 'Votre message n\'est pas valide, il doit faire entre 3 et 300 caractères et ne doit pas contenir de caractères spéciaux, recommencez svp merci.';
}
}
else
{
echo 'Votre sujet n\'est pas valide, il doit faire entre 3 et 106 caractères et ne doit pas contenir de caractères spéciaux, recommencez svp merci.';
}
}
else
{
echo 'Le Pseudo choisi n\'est pas valide, il doit faire entre 3 et 30 caractères et ne doit pas contenir de caractères spéciaux, recommencez svp merci.';
}
}
else
{
echo 'Veuillez remplir tous les champs et envoyer le formulaire svp, merci.';
}
// Poste du message sur la page forum.
$bdd = new PDO('mysql:host=......;dbname=......', '......', '......');
$reponse = $bdd->query('SELECT idforum, pseudo, sujet, DATE_FORMAT(date, \'%d/%m/%Y à %Hh%imin%ss\') AS datforum FROM forum ORDER BY idforum DESC LIMIT 0, 20');
?>
<table>
<thead> <!-- Entête de tableau -->
<tr>
<th class="th1">Id</th>
<th class="th2">Dernières réponses</th>
<th class="th3">Pseudo</th>
<th class="th4">Titres</th>
</tr>
</thead>
<tfoot> <!-- Pied de tableau pour meilleure présentation -->
<tr>
<th class="th5"></th>
<th></th>
<th></th>
<th class="th6"></th>
</tr>
</tfoot>
<?php
//J'affiche les lignes de mon tableau une à une avec une boucle.
while ($donnees = $reponse->fetch())
{
if (htmlspecialchars($donnees['idforum'])%2 == 0)
{
$class = "pair";
}
else
{
$class = "impair";
}
echo '<tbody>
<tr class="' . $class . '">
<td>' . htmlspecialchars($donnees['idforum']) . '</td>
<td>' . htmlspecialchars($donnees['datforum']) . '</td>
<td>' . htmlspecialchars($donnees['pseudo']) . '</td>
<td><a href="repforum.php">' . htmlspecialchars($donnees['sujet']) . '</a></td>
</tr>
</tbody>';
}
//Fermeture de la boucle.
$reponse->closeCursor();
?>
</table>
</div>
<?php include "pied-de-page.php"; ?> |
Partager