Voici ce à quoi je pensais :
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
| <?php session_start(); ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="livreor.css" />
<title> Livre d'Or </title>
</head>
<body>
<?php include("en_tete.html"); ?>
<?php include("menu.html"); ?>
<?php include("connect.php"); ?>
<?php include("connect_bdd.php");?>
<h1> Livre d'Or </h1> <br/>
<div id="central">
<?php
if (isset($_POST["ajouter"]) && $_POST["ajouter"] == "ok") {
// On définit les variables
$id_membre = intval($_POST["id_membre"]);
$identifiant = trim($_POST["idlivreor"]);
$titre = trim($_POST["titrelivreor"]);
$message = trim($_POST["msglivreor"]);
// Variable qui rescevra le message d'erreur
$alerte = "";
// On vérifie si l'id du membre à bien été récupéré
if (empty($id_membre))
$alerte .= "Erreur, l'id du membre n'a pas pu être récupéré<br />";
// On vérifie si les champs sont bien remplis
if (empty($identifiant) || empty($titre) || empty($message))
$alerte .= "Merci de ne pas laisser de champ vide<br />";
// On vérifie que l'identifiant correspond bien avec l'id du membre, bien qu'on est pas besoin de récupérer son identifiant....
$req = mysql_query("SELECT pseudo FROM membres WHERE id_membre = '".mysql_real_escape_string($id_membre)."'") or die (mysql_error());
$ligne = mysql_fetch_array($req);
if ($ligne["pseudo"] != $identifiant)
$alerte .= "L'identifiant renseigné ne correspond pas à l'id de l'utilisateur courant<br />";
if ($alert != "") {
// Message d'erreur + Fin de page
echo $alerte;
echo "</div>";
include("pied_de_page.html");
echo "</body>";
echo "</html>";
}
// Si tout est ok, alors on insère en bdd en protégeant les valeurs !!!
mysql_query("
INSERT INTO message
VALUES (
'',
'".mysql_real_escape_string($titrelivreor)."',
'".mysql_real_escape_string($msglivreor)."',
'".mysql_real_escape_string($id_membre)."'
)"
) or die (mysql_error());
header("Location: livreor.php"); // Redirection vers la page des messages
} else {
?>
<div class="connectlivreor">
<form method="post" action="livreor.php">
<input type="hidden" name="id_membre" value="<?php $_SESSION["IDMEMBRE"]; //ICI l'id courant de l'utilisateur ?>">
<input type="hidden" name="ajouter" value="ok">
<table>
<!-- Facultatif, car on va le récupérer avec la session de l'id de l'utilisateur courant --->
<tr>
<td><label for="idlivreor"> <span class="idformlivreor"> Identifiant </span></label> </td> <td> <input type="text" name="idlivreor" id="identifiant"/></td>
</tr>
<tr>
<td><label for="titrelivreor"> <span class="idformlivreor"> Titre </span></label> </td> <td> <input type="text" name="titrelivreor" id="titrelivreor"/></td>
</tr>
<tr>
<td>
<label for="msglivreor">
<span class="idformlivreor"> Message </span>
</label>
</td>
<td>
<textarea type="text" name="msglivreor" id="msglivreor" rows="8" cols="70"></textarea>
<br/>
<input style="margin-top:13px; margin-left: 485px" type="submit" value="Envoyer"/>
</td>
</tr>
</table>
</form>
</div>
<!-- On affiche la fin de la page -->
</div>
<?php include("pied_de_page.html"); ?>
</body>
</html>
<?php
}
?> |
Tu as les commentaires afin de comprendre...
En gros, tu affiches ton formulaire où tu aura 2 champs caché, 1 pour récupérer l'id de l'utilisateur courant, et le 2eme pour créer un interrupteur et donc savoir qu'elle partie du code est à activer.
Si ajouter est égal à "ok" alors on vérifie les champs puis on insère en BDD si tout est correct
ATTENTION -> quand tu fais un INSERT il est préférable que tu indiques les champs, car un jour, tu te feras avoir (exemple, ajout d'un champ dans la table... l'insertion échouera...)
exemple :
INSERT INTO message (champs1, champs2, champs3) VALUES (...)
Partager