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

retour page precedente apres execution commande

7 réponses
Avatar
harry covert
Bonjour

Dans une page j'ai un bouton de commande qui lance un script d''effacement
d'un fichier.

<?php

$fichier = fopen("./logs/error.log","w+");
fputs($fichier,"");
fclose($fichier);

/* pour refermer la page et revenir sur la page du début du site */
echo "<br><br><a href='javascript:history.go(-1)'>RETOUR</a>";

?>

je voudrai automatiser le retour sans cliquer sur RETOUR

merci de votra aide

7 réponses

Avatar
Kevin

Bonjour
bonsoir,


header("location: ".$_SERVER["HTTP_REFERER"]);

pour que cela fonctionne, il ne faut pas que les headers soient deja
envoyés, c'est a dire que dans cette page, il ne faut aucun printf,
print, echo, ...


Kevin
--
=> Pour me mailer, virez toutes les voyelles de la partie avant
l'arobase: naegoo @ pulsed . net

Coders don't die... they just JMP without RET

Avatar
harry covert
Bonjour et merci pour ta réponse..

mais j'ai besoin de plus d'infos, car je ne sais pas mettre en oeuvre
celle-ci.

par rapport à mon script, ou dans la page dois-je mettre ta réponse ?

<?php

$fichier = fopen("./logs/error.log","w+");
fputs($fichier,"");
fclose($fichier);

/* pour refermer la page et revenir sur la page du début du site */
echo "<br><br><a href='javascript:history.go(-1)'>RETOUR</a>";

?>

merci encore


"Kevin" a écrit dans le message de
news:414621d4$0$30388$

Bonjour
bonsoir,


header("location: ".$_SERVER["HTTP_REFERER"]);

pour que cela fonctionne, il ne faut pas que les headers soient deja
envoyés, c'est a dire que dans cette page, il ne faut aucun printf,
print, echo, ...


Kevin
--
=> Pour me mailer, virez toutes les voyelles de la partie avant
l'arobase: naegoo @ pulsed . net

Coders don't die... they just JMP without RET



Avatar
Etienne SOBOLE
"Kevin" a écrit dans le message de
news:414621d4$0$30388$

pour que cela fonctionne, il ne faut pas que les headers soient deja
envoyés, c'est a dire que dans cette page, il ne faut aucun printf,
print, echo, ...


Ou alors activer la bufferisation, mais bon c'est pas trop conseillé.
Etienne

Avatar
marc.quinton-PAS-DE-
Kevin wrote:


header("location: ".$_SERVER["HTTP_REFERER"]);

pour que cela fonctionne, il ne faut pas que les headers soient deja
envoyés, c'est a dire que dans cette page, il ne faut aucun printf,
print, echo, ...


moi j'ai réalisé cela en javascript avec cette petite fonction
qui affiche temporairement un message puis va vers une direction
indiquée par $args.



function location_delay ($url = '', $msg = '', $delay = 3000) {


echo <<<END
<SCRIPT LANGUAGE="JavaScript1.2">
function jump_location(){
window.parent.location = '$url';
}

setTimeout("jump_location();", $delay);

</SCRIPT>
<br>
$msg
<br>
<br>

END;
}


utilisation :

location_delay('http://google.com/search?php', 'tout ce que vous voulez savoir sur php ...');
location_delay('?index.php&errorútale', 'erreur fatale ...', 2000);


il est possible d'ajouter un lien manuel pour ceux qui ont desactivé javascript.

Avatar
G Roydor
harry covert a écrit:
Bonjour

Dans une page j'ai un bouton de commande qui lance un script d''effacement
d'un fichier.

<?php

$fichier = fopen("./logs/error.log","w+");
fputs($fichier,"");
fclose($fichier);

/* pour refermer la page et revenir sur la page du début du site */
echo "<br><br><a href='javascript:history.go(-1)'>RETOUR</a>";


echo '<script>location.href="mapage.html";</script>';
ou
echo '<script>location.href=history.go(-1);</script>'; à tester

GR


?>

je voudrai automatiser le retour sans cliquer sur RETOUR

merci de votra aide


Avatar
marc.quinton-PAS-DE-
Etienne SOBOLE wrote:
"Kevin" a écrit dans le message de
news:414621d4$0$30388$


pou
Ou alors activer la bufferisation, mais bon c'est pas trop conseillé.





pour quelles raisons ? sachant que :

- une page moyenne fait X ko, et que l'on essaie de faire X le plus petit possible
- est-ce que l'overhead par rapport a la connexion a une BD est important ?


mais je dois te l'accorder :
- c'est principalement un probleme de conception de l'application au depart,
- mais une application bien foutue buffurisera dans ses propres chaines
les sorties HTML.
- donc je me dis que c'est laid, mais pas si idiot meme en terme de perfo.

un exemple :

soit une application qui se connecte a une base de donnée et affiche une fiche
sur un certain composant. On veut pouvoir agir sur le titre de la page HTML. Mais
le titre est fonction du composant extrait de la base de donnée. Cette information
est donc disponible apres-coup. Comment regler cette problematique.

Pour faire sympa on peu faire cela en objet. Je n'ai pas la solution globale, mais
des idées :

$site->set_title('mon titre');

permettra de positionner le titre de la page.

$site->header();

affichera le header au format html avec tout ce qui va bien dont le titre.

$data = $db->select("SELECT * FROM ma_table WHERE id = '$id'");

permet de recuperer les informations concernant le composant.

Maintenant le tout mis en cascade, de facon assez hypothétique :

<?php

$site = new Site();
$site->page = new Page();

$site->page->load(); # effectue la requete en BD et stoke de l'info en local
$site->set_title($site->page->get_title());

$site->header();
$site->sidebar();
$site->page->display(); # l'info buffurisée est relachée
$site->footer();

?>

enfin tout cela n'a aucun rapport avec le thread original.


Avatar
Etienne SOBOLE
pour quelles raisons ? sachant que :
- une page moyenne fait X ko, et que l'on essaie de faire X le plus petit
possible
- est-ce que l'overhead par rapport a la connexion a une BD est important
?


C'est surtout que les navigateurs commence souvent a afficher la page avant
qu'elle ne soit complètement reçu. les quelques poussière de seconde que ca
fait gagner font ressentir l'application comme nétement plus réactive.

mais je dois te l'accorder :
- c'est principalement un probleme de conception de l'application au
depart,
- mais une application bien foutue buffurisera dans ses propres chaines
les sorties HTML.
- donc je me dis que c'est laid, mais pas si idiot meme en terme de perfo.


Non c'est vrai, que si on s'interesse uniquement a la charge serveur, les
performances sont plus élevée. C'est véritablement un probleme de réactivité
du site.

un exemple :
soit une application qui se connecte a une base de donnée et affiche une
fiche
sur un certain composant. On veut pouvoir agir sur le titre de la page
HTML. Mais
le titre est fonction du composant extrait de la base de donnée. Cette
information
est donc disponible apres-coup. Comment regler cette problematique.

Pour faire sympa on peu faire cela en objet. Je n'ai pas la solution
globale, mais
des idées :
$site->set_title('mon titre');
permettra de positionner le titre de la page.
$site->header();
affichera le header au format html avec tout ce qui va bien dont le titre.
$data = $db->select("SELECT * FROM ma_table WHERE id = '$id'");
permet de recuperer les informations concernant le composant.
Maintenant le tout mis en cascade, de facon assez hypothétique :

<?php
$site = new Site();
$site->page = new Page();
$site->page->load(); # effectue la requete en BD et stoke de l'info en
local
$site->set_title($site->page->get_title());
$site->header();
$site->sidebar();
$site->page->display(); # l'info buffurisée est relachée
$site->footer();
?>


Oui tout a fait.
J'utilise un truc dans ce genre la personnellement.
Je parlais surtout du buffer géré par le PHP qui envoie le flux qu'une fois
le script terminé.

enfin tout cela n'a aucun rapport avec le thread original.


Non mais bon c'est pas ininteressant !!!

Etienne