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 140 141 142 143 144 145 146 147 148
| <?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 10px 10px;}
.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>
<?php
if(!$_SESSION)
{
echo 'Pour participer au forum, 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>.';
}
else
{
echo '<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=.......', '......', '.......');
$req1 = $bdd->prepare('INSERT INTO forum(pseudo, sujet, datforum) VALUE(:pseudo, :sujet, NOW())');
$req2 = $bdd->prepare('INSERT INTO repforum(message) VALUE(:message)');
$req1->execute(array(
'pseudo' => $_POST['pseudo'],
'sujet' => $_POST['sujet']));
$req2->execute(array(
'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(datforum, \'%d/%m/%Y à %Hh%imin%ss\') AS datforum_fr FROM forum ORDER BY idforum DESC LIMIT 0, 20');
?>
<table>
<thead>
<tr>
<th class="th1">Id</th>
<th class="th2">Dernière réponse</th>
<th class="th3">Pseudo</th>
<th class="th4">Sujet</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="4" class="th5"></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_fr']) . '</td>
<td>' . htmlspecialchars($donnees['pseudo']) . '</td>
<td><a href="repforum.php?suj=' . htmlspecialchars($donnees['idforum']) . '">' . htmlspecialchars($donnees['sujet']) . '</a></td>
</tr>
</tbody>';
}
//Fermeture de la boucle.
$reponse->closeCursor();
?>
</table>
</div>
</div>
<?php include "pied-de-page.php"; ?> |
Partager