Bonjour,

Pour mon systeme de commentaire j'ai besoin de récupérer l'id dans l'url de mon article "bienvenue-sur-ncnetwork-2"

post commentaire :

<?php
    require 'includes.php';
    $errors = [];
    $success = [];

    $sujet = $_POST['sujet'];
    $message = $_POST['message'];

    // Success 

    $success['send'] = "Votre commentaire a bien été posté !";

    // Errors

    if(!array_key_exists('sujet', $_POST) || $sujet == '')
    {
        $errors['sujet'] = "Vous n'avez pas renseigné votre sujet !";
    }

    if(!array_key_exists('message', $_POST) || $message == '')
    {
        $errors['message'] = "Vous n'avez pas renseigné votre message !";
    }

    if(!$errors)
    {
        $id = $_GET['id'];

        $req = $db->prepare("INSERT INTO commentaires(title, author, content, date_post, article_id) VALUES(:title, :author, :content, NOW(), $id");
        $req->bindParam(":title", $sujet);
        $req->bindParam(":author", $_SESSION['Auth']['identifiant']);
        $req->bindParam(":content", $message);
        $req->execute();

        $_SESSION['success'] = $success;
        header('Location: '.$_SERVER['HTTP_REFERER'] );
    }else{
        $_SESSION['errors'] = $errors;
        header('Location: '.$_SERVER['HTTP_REFERER'] );
    }
?>

Je ne vois pas comment récuperer cet id
merci

2 réponses


Bonjour,

Il suffit de faire un explode avec comme paramètre le '-'.

$element = explode('-', $machaine);

Ensuite vous récupérer le dernier élément du tableau

$id = end($element);

Bonjour,

Dans ton formulaire pour poster ton commentaire tu dois rajouter, un input hidden avec comme valeur l'id de l'article en cours de lecture du style :

<input type="hidden" name="id" value="id">

Pense à bien remplacer la value par la variable associée à ton article.

Puis dans la page de taitement d'envoi de commentaires tu n'as plus qu'à utiliser $_POST['id'] dans ta requête.

Bon courage.