Page 1 sur 1

affichage script qui ne devrait pas

Posté : 27 mai 2021, 10:29
par nestor94
Bonjour,
Ce script PHP fonctionne mais s'affiche ensuite sur la page HTML de redirection. Comment virer cet affichage :?:
<?php
session_start();
require_once 'config.php';
$id = !empty($_SESSION['id']) ? $_SESSION['id'] : NULL;
$pdostat =  $bdd->prepare("UPDATE map INNER JOIN membres ON membres.pos_x = map.pos_x AND membres.pos_y = map.pos_y
SET map.def_animal = map.def_animal-1 WHERE membres.id= $id");
$pdostat->execute();
header('Location:erreur_animal_blesse.html');
?>

Re: affichage script qui ne devrait pas

Posté : 27 mai 2021, 12:55
par or 1
toujours faire suivre une redirection d'un :
exit();

Re: affichage script qui ne devrait pas

Posté : 27 mai 2021, 13:52
par Ryle
En complément de la réponse d'or1, l'instruction header de php n'interrompt effectivement pas l'exécution du script et tout ce qui va suivre sera exécuté et renvoyé au serveur le cas échéant. Avec un exit() on indique explicitement qu'une fois la redirection transmise au serveur, le script ne doit pas aller plus loin dans l'exécution du code ;)

Re: [RESOLU] affichage script qui ne devrait pas

Posté : 29 mai 2021, 00:24
par nestor94
Je pensais que ce n'était pas obligatoire !

Re: affichage script qui ne devrait pas

Posté : 29 mai 2021, 11:04
par Jefekoi
toujours faire suivre une redirection d'un :
exit();
Ho merci pour cette réponse, encore tout à l'heure j'ai mis sur un de mes programme :
exit;
Ça ne marchait pas, il faut donc mettre exit();

On en apprend tous les jours... (désolé de mettre incrusté en hors sujet)

Merci

Re: [RESOLU] affichage script qui ne devrait pas

Posté : 29 mai 2021, 14:02
par or 1
https://www.php.net/manual/fr/function.exit.php
"exit est une construction de langage et peut être appelé sans parenthèse si aucun paramètre status n'est passé."