Envoi d'un poste, obligé de refresh pour le voir

Par Yubo, il y a 10 ans


Salut, j'ai fais un petit système de micropost, mais quand j'essaye d'envoyer un message sur mon mur, il l'envoi sans problème, mais le message ne s'affiche pas tout de suite, je suis obligé de re-actualiser la page encore une fois pour le voir.
C'est assez génant.

<?php require_once 'inc/db.php'; require_once 'inc/constants.php'; require_once 'inc/functions.php'; logged_only(); if($_SERVER['REQUEST_METHOD'] === 'POST'){ if(strlen($_POST['new_msg']) > 240){ $_SESSION['flash']['danger'] = 'Votre message est trop long!'; } $req = $pdo->prepare("INSERT INTO posts SET id_user = ?, message = ?"); $pdo->exec("SET CHARACTER SET utf8"); $req->execute([$_SESSION['auth']->id, $_POST['new_msg']]); } ?>

Si vous avez des idées, faite moi en part!

8 réponses

tleb, il y a 10 ans

J'ai l'impression que tu listes tes postes avant d'ajouter le nouveau, ce qui explique pourquoi tu ne le voies pas : il n'arrive dans la bdd que après que tu aies affiché tes posts.

betaWeb, il y a 10 ans

Salut,

Tu voudrais que tes posts s'affichent instantanément et sans refresh ?

Yubo, il y a 10 ans

Non, juste que des que je cliques sur envoyer, que ça l'affichage après le refresh :/
car la c'est assez bizzare que je sois obligé de refresh pour le voir.
Si tu as ts ou skype, ça sera plus simple pour te montrer ^^

Yubo, il y a 10 ans

j'y suis ^^

Robinos, il y a 10 ans

Pourquoi pas essayer de mettre un Location header:"ta page"; pour qu'il rafraichisses automatiquement, et ainsi afficher le nouveau message

JMERISE, il y a 10 ans

c'est aussi une solution.

JMERISE, il y a 10 ans

tu peux le faire en js aussi.