8791 sujets

Développement web côté serveur, CMS

Bonjour,
J'ai ce code qui fonctionne.
J'aimerai que quand l'user arrive à cette function, une fois le traitement fait, cela le dirige automatiquement vers une autre page.
<!-- ############################### J ############################## -->
<?PHP
function baliseAssetJ()
{

  if( !empty($_POST['demg']))
  {
  // Attention à ne pas oublier les break
  // Oublier un break ne retourne pas d'erreur car c'est possible comme écriture
  switch ($_POST['demg']) {
      case 'REN':
        $_SESSION['BaliseJ'] =  "[" .  $_SESSION["_PDT"] ."_" . $_SESSION['Prt'] . " " . "< AE_"  . $_SESSION["Asset"]  . ">" ." " . "< AS_"  . $_SESSION["Asset-Old"]  . ">" . ""."< TPX_" .  $_SESSION["Time"]  . ">" ."]";
        document.location.replace('pagefin.php');
        echo $_SESSION['BaliseJ']."case REN";
          break;
      case 'REP':
        $_SESSION['BaliseJ'] =  "[" .  $_SESSION["_PDT"] ."_" . $_SESSION['Prt'] . " " . "< AS_"  . $_SESSION["Asset-Old"]  . ">" . ""."< TPX_" .  $_SESSION["Time"]  . ">" ."]";
        location.replace('pagefin.php');
                echo $_SESSION['BaliseD']."case REP";
          break;
      case 'DEM_PDT':
      case 'PRT':
      case 'NDO':
        $_SESSION['BaliseJ'] = "[" .  $_SESSION["_PDT"] ."_" . $_SESSION['Prt'] . " " . "< AE_"  . $_SESSION["Asset"]  . ">" . ""."< TPX_" .  $_SESSION["Time"]  . ">" ."]";
        //echo '<br><br>'.$_SESSION["BaliseA"] .'A <br>'.$_SESSION['BaliseB'].'B <br>' .$_SESSION['BaliseC'].'C <br>' .$_SESSION['BaliseD'].'D <br>'..$_SESSION['BaliseE']."BaliseE créée___case NDO, DEM_PDT, PRT";
location('pagefin.php');
          break;
      default:
          // On peut même avoir un cas par défaut  [smile]
          break;
  }// Fin du switch
  }// Fin Empty
}// Fin Function
?>

J'ai essayé
document.location.replace('pagefin.php');
location.replace('pagefin.php');
location('pagefin.php');
Mais cela ne fonctionne pas.
Merci
Bonjour,

La fonction PHP que tu recherches est header, qui te permet d'envoyer une en-tête HTTP au navigateur (https://www.php.net/manual/fr/function.header.php). La seule contrainte est que rien ne doit être affiché avant l'appel à cette fonction (donc pas de echo).

Exemple d'utilisation pour envoyer une en-tête de redirection :
header("Location: /mapage.php");

Modifié par GuillaumeBauer (24 Aug 2022 - 18:15)
Meilleure solution
Bonjour GuillaumeBauer,
J'avais bien vu cette commande dans PHP.net, mais le fait de lire que"La seule contrainte est que rien ne doit être affiché avant l'appel à cette fonction", je n'ai pas pensé au echo, je pensai qu'il ne fallait pas de code avant.
Merci pour ton explication.