Bonjour,
Pour un site web j'ai du créer un livre d'or basique sans formatage pour le moment.
Tout mon script marche, sauf que en allant sur ma page livreor.php, 3 erreurs s'afiche
Notice: Undefined index: message in D:\wamp\www...\livreor.php on line 17
Et sa pareil pour les lignes 15 et 16, bref pour les 3 variables.
Pour une question d'organisation le fichier livreor.php est en include dans la page index.php.
Voici le code php de la page livreor.php:
<?php
// Connexion base de données
require "config.php";
$conn = mysqli_connect(DB_SERVER,DB_LOGIN,DB_PASS,DB_NAME);
mysqli_query($conn,'SET NAMES'.DB_ENC);
// Check connection
if (!$conn){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
die("Erreur: ".mysqli_connect_errno());
}
// Récupération valeurs
$pseudo = mysqli_real_escape_string($conn, $_POST['pseudo']);
$email = mysqli_real_escape_string($conn, $_POST['email']);
$message = mysqli_real_escape_string($conn, $_POST['message']);
// Traitement donnees
if(!empty($_POST)){
$ip=$_SERVER["REMOTE_ADDR"];
$pseudo=htmlentities($pseudo);
$email=htmlentities($email);
$message=htmlentities($message);
$req = "INSERT INTO lo_messages(pseudo,mail,message,ip) VALUES ('$pseudo','$email','$message','$ip')";
$res = $conn->query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysqlierror($conn));
}
// Suppression donnees
if(isset($_GET['suppr'])){
$req = "DELETE FROM lo_messages WHERE id={$_GET['suppr']}";
$res = $conn->query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysqlierror($conn));
echo 'Message supprimé';
}
?>
<form method="post" action="index.php">
<label for="inputpseudo">Nom:</label><br>
<input type="text" name="pseudo" id="inputpseudo"><br>
<label for="inputmail">Email</label><br>
<input type="email" name="email" id="inputemail"><br>
<label for="inputmessage">Message</label><br>
<textarea name="message" id="inputmessage"></textarea><br><br>
<button type="submit">Envoyer</button>
</form>
<?php
// Affichage message
$req = "SELECT * FROM lo_messages ORDER BY id DESC";
$res = $conn->query($req) or die('Erreur SQL !<br>'.$req.'<br>'.mysqli_error($conn));
while ($data = mysqli_fetch_array($res)){
echo "<strong>".$data["pseudo"]."</strong><br>";
echo "<p>".$data["message"]."</p>";
echo '<p><a href="index.php?suppr='.$data["id"].'"> x </a></p>';
}
// Fermeture connexion
mysqli_close($conn);
?>
Et le fichier congig.php:
<?php
define("DB_SERVER","localhost");
define("DB_NAME","livreor");
define("DB_LOGIN","root");
define("DB_PASS","");
define("DB_ENC","UTF8");
Si vous pouvez m'aider car c'est tres important.
Oupps désolé j'ai oublié les parenthèses :
if (isset($_POST['pseudo'])){
$pseudo = mysqli_real_escape_string($conn, $_POST['pseudo']);
}
Pour la récupération des variables met un sinon :
if (isset($_POST['pseudo'])){
$pseudo = mysqli_real_escape_string($conn, $_POST['pseudo']);
}
else{
$pseudo = "";
}
Après c'est des erreurs mineurs si tu veux pas qu'elle apparaissent tu mets cela en début de fichier :
error_reporting(E_ERROR | E_WARNING | E_PARSE);
ini_set('display_errors', 1);
Ce sont des erreurs pas très grave il te suffit de faire cela :
if isset($_POST['pseudo']){
$pseudo = mysqli_real_escape_string($conn, $_POST['pseudo']);
}
Pareil pour les deux autres variables.
Parfait sa c'est réparer maintenant sa me met une ereur aux lignes 23 + 24 quand j'envoie le formulaire :/
pas eu besoin de
else{
$pseudo = "";
}
j'ai juste mis
// Récupération valeurs
if (isset($_POST['pseudo'])){
$pseudo = mysqli_real_escape_string($conn, $_POST['pseudo']);
}
if (isset($_POST['email'])){
$email = mysqli_real_escape_string($conn, $_POST['email']);
}
if (isset($_POST['message'])){
$message = mysqli_real_escape_string($conn, $_POST['message']);
}
j'avai oublier de mentionner $email et $message lol