N'arrive pas à insérer un enregistrement dans la base de données

a.b -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

Je souhaite insérer un enregistrement dans ma base de données via le formulaire HTML ci-dessus mais je n'arrive pas. Voici la page en question :


<?php
session_start();
include "../Data/Config.php";

?>

<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="stylesheet" href="../../Css/Server.css">
        <link rel="stylesheet" href="../../Css/bootstrap.min.css">
        <title></title>
    </head>
    <body>
        <!-- Slide server -->
        <div id="server">
            <?php include "../Data/Server.php" ?>
        </div>

        <!-- Home server -->
        <div class="">
            <div id="pictureServer" class="rounded-circle mx-auto">
                <?php echo $_GET['severName']; ?>
            </div>
            <div id="add" class="col-sm-3 mx-left">
                <a href="#" id="button" class="button">Add post</a>
            </div>
        </div>
        <div id="post_container">
            <div class="text-center border mx-auto rounded" style="width:10%; margin-top:3%; padding: 50px;%">
                <?php 
                    $req_post = "SELECT description FROM Post";
                    $res = mysqli_query($conn, $req_post);
                    while ($all_post = mysqli_fetch_array($res)) {
                        echo "<p>".$all_post['description']."</p>";
                    }
                    mysqli_close($conn);  
                ?>
            </div>
        </div>
        
        <!-- Popup -->
        <div id="modal">
            <div id="modal-content">
                <div id="modal-content-top">
                    <div id="close">+</div>
                    <div class="image-profil">
                        <img id="image-profil" src="#" alt="profil" style="width: 30px;">
                    </div>
                    <div class="pseudo">
                        <p id="pseudo">Pseudo</p>
                    </div>
                </div>
                <div id="modal-content-body">
                    <form method="post">
                        <div class="form-group">
                            <label for="usr">Sujet:</label>
                            <input type="text" class="form-control" name="subject" id="usr" required>
                        </div>
                        <br>
                        <div class="form-group">
                            <label for="comment">Post:</label>
                            <textarea class="form-control" rows="5" name="post" id="comment" form="post" ></textarea>
                        </div>

                        <div id="modal-content-bottom">
                            <button type="submit" name="posted">Envoyer<button>
                        </div>
                    </form>
                </div>
                
            </div>
        </div>
        <script type="text/javascript" src="../../JS/Popup.js"></script>
    </body>
</html>


<?php
$subject = htmlentities($_POST['subject']);

if(!$subject == NULL) {
    $req = "INSERT INTO Post VALUES (NULL, 2, NULL, '".$_POST['subject']."', 1, NULL, NULL)";

    $res = mysqli_query($conn, $req);

}

header("Location: ServerView.php");
exit;
    


?>



Une aide serait le bienvenue.


Je vous remercie.


Configuration: Macintosh / Safari 14.0.2
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Déjà, essayes de placer le maximum de code php AVANT (et en dehors ) du HTML.
cela le rendra plus facile à maintenir
Surtout que l'instruction header ne marche que si tu n'as rien affiché avant ....

Ensuite, active l'affichage des erreurs PHP dans ta page.

Voir les conseils donnés ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code

Puis, gère les erreurs éventuelles au niveau de tes requête sql
par exemple
// Perform a query, check for error
if ( !$res = mysqli_query($conn, $req) ) {
  echo("Error description: " . mysqli_error($conn));
}

0
a.b
 
Mais là j'ai un autre problème. J'ai un message d'erreur qui parle que trop de redirections sont survenues dans la page.

Quelque chose m'échappe. Je ne sais pas quoi.


J'ai recherché sur internet mais rien.
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > a.b
 
Sans voir le code modifié impossible pour moi de te répondre
0