PHP Utilisation header location avec replace
Résolu
rjl
Messages postés
543
Date d'inscription
Statut
Membre
Dernière intervention
-
julie-f Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
julie-f Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Bien souvent, les pages PHP (ou même HTML) doivent s'enchaîner automatiquement.
Pour cela, il existe diverses possibilités : le code Action au sein d'un formulaire,
La fonction header() avec son paramètre location qui placée en tête du programme peut rediriger vers une autre page...
Problème, cette redirection est difficilement conditionnelle et pour preuve j'ai même lu que cette fonction (en tête de module) devait de préférence être suivie d'un Exit !
Pourtant, j'ai cru comprendre qu'il existait un second paramètre possible :
Le paramètre optionnel replace indique si la fonction header() doit remplacer un en-tête précédemment émis, ou bien ajouter un autre en-tête du même type. Par défaut, un nouvel en-tête va écraser le précédent, mais si vous passez FALSE dans cet argument, vous pouvez forcer les en-têtes multiples pour un même type d'en-tête.
L'usage avec False d'entêtes multiples dépasse ma compétence (bien limitée) mais le Replace simple qui peut être envoyé en décale semble bien se prêter à des déroulement de pages pour des cas particuliers de traitement (ou celui des erreurs).
Merci d'avance à qui aurait employé ce paramètre ou pourrait m'apporter des précisions sur ce fonctionnement.
@bientôt RJL2711
Bien souvent, les pages PHP (ou même HTML) doivent s'enchaîner automatiquement.
Pour cela, il existe diverses possibilités : le code Action au sein d'un formulaire,
La fonction header() avec son paramètre location qui placée en tête du programme peut rediriger vers une autre page...
Problème, cette redirection est difficilement conditionnelle et pour preuve j'ai même lu que cette fonction (en tête de module) devait de préférence être suivie d'un Exit !
Pourtant, j'ai cru comprendre qu'il existait un second paramètre possible :
Le paramètre optionnel replace indique si la fonction header() doit remplacer un en-tête précédemment émis, ou bien ajouter un autre en-tête du même type. Par défaut, un nouvel en-tête va écraser le précédent, mais si vous passez FALSE dans cet argument, vous pouvez forcer les en-têtes multiples pour un même type d'en-tête.
L'usage avec False d'entêtes multiples dépasse ma compétence (bien limitée) mais le Replace simple qui peut être envoyé en décale semble bien se prêter à des déroulement de pages pour des cas particuliers de traitement (ou celui des erreurs).
Merci d'avance à qui aurait employé ce paramètre ou pourrait m'apporter des précisions sur ce fonctionnement.
@bientôt RJL2711
A voir également:
- Php location replace
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Location history - Accueil - Transports & Cartes
- Retour a la ligne php ✓ - Forum PHP
- Php alert - Forum PHP
2 réponses
Bonjour,
je ne vois pas pourquoi la fonction header() ne serait pas conditionnel.
https://forums.commentcamarche.net/forum/affich-37622003-redirection-php-redirect-header
Si l'instruction doit impérativement être utilisée avant tout code HTML, il est néamoins possible de mettre du code php. Et mettre un exite ne rend pas ta condition invalide :
Cordialement
je ne vois pas pourquoi la fonction header() ne serait pas conditionnel.
https://forums.commentcamarche.net/forum/affich-37622003-redirection-php-redirect-header
Si l'instruction doit impérativement être utilisée avant tout code HTML, il est néamoins possible de mettre du code php. Et mettre un exite ne rend pas ta condition invalide :
<?php if (testredirection) { header('Location: mapage.php'); exit(); } //Ton code a executer si testredirection == false... ?>
Cordialement
Bonjour julie-f ,
Merci de ta réponse et des précisions qu'elle m'apporte.
Toutes mes excuses de débutant en PHP (et pourtant, c'est un passage obligé...).
Il existait tant de mise en garde sur l'impossibilité de toute instruction HTML avant la redirection (y compris dans la page officielle OHP sur les redirections) qu'il ne m'en fallait pas plus pour que j'en sois traumatisé !
Merci donc de ce recadrage qui permet de travailler tranquille en PHP pour opérer tests et contrôles avant de poursuivre en HTML !
Inversement, j'ai bien noté, ni l'instruction HTML, elle-même, ni INCLUDE avant ces redirections.
Bonne fin de journée. RJL2711
Merci de ta réponse et des précisions qu'elle m'apporte.
Toutes mes excuses de débutant en PHP (et pourtant, c'est un passage obligé...).
Il existait tant de mise en garde sur l'impossibilité de toute instruction HTML avant la redirection (y compris dans la page officielle OHP sur les redirections) qu'il ne m'en fallait pas plus pour que j'en sois traumatisé !
Merci donc de ce recadrage qui permet de travailler tranquille en PHP pour opérer tests et contrôles avant de poursuivre en HTML !
Inversement, j'ai bien noté, ni l'instruction HTML, elle-même, ni INCLUDE avant ces redirections.
Bonne fin de journée. RJL2711