[RESOLU] Rediriger vers une page en php après un switch

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Rediriger vers une page en php après un switch

Re: Rediriger vers une page en php après un switch

par wisefun77 » 25 août 2022, 09:10

Bonjour @rthur, Spols,

Merci beaucoup pour vos explications.
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 à vous deux.

Re: Rediriger vers une page en php après un switch

par @rthur » 24 août 2022, 18:00

Ni même de commentaire HTML comme le montre ton code ;)

Les tentatives que tu as essayées sont en javascript, du coup si tu veux qu'elles fonctionnent, alors il faut faire :
echo "<script>document.location.href = 'pagefin.php';</script>";

Re: Rediriger vers une page en php après un switch

par Spols » 24 août 2022, 17:33

si tu es en php la bonne syntaxe de redirection est header('location:URL');

mais attention il y a des limitations, il ne doit ABSOLUMENT pas y avoir de sortie avant le header (echo ou autre ou code html en dehors des balise <?php ?> ni même d'espace ou de retour à la ligne avant le premier <?php)

Rediriger vers une page en php après un switch

par wisefun77 » 24 août 2022, 17:05

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.

Code : Tout sélectionner

<!-- ############################### 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 :-) 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