Dans un fichier PHP lorsque je dois rediriger un utilisateur et que les en-têtes sont déjà envoyés, je ne peux pas utiliser la fonction d'entête de php, dans ce cas, quelle est la meilleure méthode pour rediriger un utilisateur?Meilleures méthodes de redirection?
La méthode la plus rapide et la plus fiable quelle que soit la marque du navigateur de l'utilisateur?
echo '<script type="text/javascript">window.top.location="http://localhost/";</script>';
// OR
echo '<meta http-equiv="refresh" content="0;url=' .$location. '">';
MISE À JOUR
Voici mon code de résultat final, je suis maintenant en utilisant, si les en-têtes sont déjà envoyés où je ne peux pas rediriger vers la page d'accueil, je vous apporte juste la page d'accueil pour moi, donc au lieu d'inclure la page du corps, il inclura ma page d'accueil et pied de page
function validlogin($url) {
if (!isset($_SESSION['auto_id']) || ($_SESSION['auto_id']=='')) {
$_SESSION['sess_login_msg'] = 'Please login';
$_SESSION['backurl'] = $url;
$temp = '';
if (headers_sent() === false){
header("Location: /");
exit();
}else{
//header is already sent so we will just bring the homepage to us instead of going to it!!!
include 'mainbody.inc.php';
include 'footer.inc.php';
exit();
}
}
}
Ceci est sur la bonne voie pour ma solution, IDK pourquoi quelqu'un continue de downvoting tout le monde qui ne dit pas "tampon de sortie", j'ai une bonne idée de qui il est cependant. Voir avec votre méthode, je peux ajouter à ma fonction existante, si l'en-tête est déjà envoyé, alors je peux simplement inclure ma page d'accueil au lieu de la rediriger vers elle, excellente solution! – JasonDavis
Je réclame tous mes downvotes, pour l'enregistrement. Vous incluez la méthode ressemble à ça va fonctionner très bien. Au début de ce post, nous savions seulement que vous vouliez rediriger. Plus d'informations est toujours mieux :) –