Mysqli livre d'or

Par Meridias, il y a 10 ans


Base de données MySQL

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.

8 réponses

bugland, il y a 10 ans

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.

Meridias, il y a 10 ans

il doit il y avaoir un truc sa me met un problem sur isset

bugland, il y a 10 ans

Oupps désolé j'ai oublié les parenthèses :

if (isset($_POST['pseudo'])){ $pseudo = mysqli_real_escape_string($conn, $_POST['pseudo']); }
Meridias, il y a 10 ans

Parfait sa c'est réparer maintenant sa me met une ereur aux lignes 23 + 24 quand j'envoie le formulaire :/

bugland, il y a 10 ans

C'est quoi l'erreur ?

bugland, il y a 10 ans

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);

Meridias, il y a 10 ans

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