Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

une page qui se rafraichit elle meme

3 réponses
Avatar
Pascal Chenevas-Paule
Bonjour,

Je dispose d'une page A sur laquelle j'ai un formulaire.
La page A intègre également le traitement du formulaire qu'elle contient.
J'aimerais que la page se rafraîchisse elle même pour que les nouvelles
données apparaissent.

Ex :

je dispose d'une tableau listant un ensmble de ligne qui sont les
champs d'une table, à ce tableau je peut supprimer un enregistrement de
la table, et j'aimerais que lorsque je clique sur le bouton la ligne
disparaisse du tableau.

J'ai procédé de la façon suivante :

avant la balise <html> j'ai mis :

<?php session_start();
$_SESSION['refresh'] = false;
?>

dans la balise <head> :

<?php
if($_SESSION['rafraichir']) {
print "<meta http-equiv='refresh' content=\"0;URL=index.php\">";
}
?>

Dans le formulaire quand je teste si j'ai cliqué sur le bouton supprimé:

$_SESSION['refresh'] = true;

Le rafraîchissement ne se fait pas.

Je vous remercie de votre aide,

Pascal

3 réponses

Avatar
Olivier Miakinen

Je dispose d'une page A sur laquelle j'ai un formulaire.
La page A intègre également le traitement du formulaire qu'elle contient.
J'aimerais que la page se rafraîchisse elle même pour que les nouvelles
données apparaissent.

[...]
$_SESSION['refresh'] = false;
if($_SESSION['rafraichir']) {
$_SESSION['refresh'] = true;


Hum... un petit problème de traduction franco-anglaise ?

Par ailleurs, je n'en suis pas sûr, mais j'ai l'impression que tu as
envie que les tests soient faits par le navigateur du client (ce que
permet JavaScript dans certains cas) plutôt que par le serveur (avant
d'envoyer la page, celle-ci devenant donc une page *statique* chez le
client).

Voir <http://faqfclphp.free.fr/#rub2.3>.

Avatar
Pascal Chenevas-Paule
Olivier Miakinen wrote:

Je dispose d'une page A sur laquelle j'ai un formulaire.
La page A intègre également le traitement du formulaire qu'elle contient.
J'aimerais que la page se rafraîchisse elle même pour que les nouvelles
données apparaissent.

[...]
$_SESSION['refresh'] = false;
if($_SESSION['rafraichir']) {
$_SESSION['refresh'] = true;



Hum... un petit problème de traduction franco-anglaise ?


Non juste dans le mail :-)

Par ailleurs, je n'en suis pas sûr, mais j'ai l'impression que tu as
envie que les tests soient faits par le navigateur du client (ce que
permet JavaScript dans certains cas) plutôt que par le serveur (avant
d'envoyer la page, celle-ci devenant donc une page *statique* chez le
client).

Voir <http://faqfclphp.free.fr/#rub2.3>.
Ok je vais voir ça mais le javascript j'y comprend rien et pour

expliquer ça au jury ça vas pas être facile, merci pour ton aide.


Avatar
P'tit Marcel
Je dispose d'une page A sur laquelle j'ai un formulaire.
La page A intègre également le traitement du formulaire qu'elle contient.
J'aimerais que la page se rafraîchisse elle même pour que les nouvelles
données apparaissent.

J'ai procédé de la façon suivante :
avant la balise <html> j'ai mis :
<?php session_start();
$_SESSION['refresh'] = false;
?>
dans la balise <head> :
<?php
if($_SESSION['rafraichir']) {
print "<meta http-equiv='refresh' content="0;URL=index.php">";
}
?>


1/ usage booléen refresh

comme tu as codé au début
$_SESSION['refresh'] = false
le test de la balise <head> ne sera jamais valide.

si j'ai bien compris ton besoin, tu ne devrais avoir au début que le
session_start()


2/ meta refresh
faire un meta refreh de la page elle-même, c'est assez bourrin. C'est
d'ailleurs expliqué dans le 2.11 de la FAQ.

au lieu de cela, tu peux coder :

if($_SESSION['refresh'] === true) {
// action de rafraîchissement
// y compris lecture des données dans une base
}
else {
// réaffichage telles quelles des données
// les données ont par exemple été conservées en variable de session
}
// suite du script : affichage des données rafraîchies ou conservées




eça
--
P'tit Marcel