Comment puis-je obtenir une fonction PHP accéder à un site Web spécifique lorsqu'elle est exécutée?)
Par exemple:
<?php
//SOMETHING DONE
GOTO(http://example.com/thankyou.php);
?>
J'aimerais vraiment ce qui suit ...
<?php
//SOMETHING DONE
GOTO($url);
?>
Je veux faire quelque chose comme ça:
<?php
//SOMETHING DONE THAT SETS $url
header('Location: $url');
?>
<?
ob_start(); // ensures anything dumped out will be caught
// do stuff here
$url = 'http://example.com/thankyou.php'; // this can be set based on whatever
// clear out the output buffer
while (ob_get_status())
{
ob_end_clean();
}
// no redirect
header( "Location: $url" );
?>
Vous pouvez toujours simplement utiliser la balise pour actualiser la page - ou peut-être simplement déposer le code javascript nécessaire dans la page à la fin, ce qui entraînerait la redirection de la page. Vous pouvez même lancer cela dans une fonction onload, donc une fois que c'est fini, la page est redirigée
<?php
echo $htmlHeader;
while($stuff){
echo $stuff;
}
echo "<script>window.location = 'http://www.yourdomain.com'</script>";
?>
Si "SOMETHING DONE" n'invoque aucune sortie via echo/print/etc, alors:
<?php
// SOMETHING DONE
header('Location: http://stackoverflow.com');
?>
Notez que cela ne fonctionnera pas:
header('Location: $url');
Vous devez faire ceci (pour l'expansion variable):
header("Location: $url");
<?php
// do something here
header("Location: http://example.com/thankyou.php");
?>
n'oubliez pas de mettre un "dé" après votre appel pour que la redirection se produise avant que le reste du code de la page ne soit lancé. une. Si vous avez des fonctions d'en-tête plus bas dans la page, elles remplaceront celles plus loin dans le code.
b: im en supposant que vous ne voulez pas que le reste du code de la page soit exécuté et que vous mettiez cette redirection en premier lieu [peut-être].
exemple:
<?php
// do something here
header("Location: http://example.com/thankyou.php");
die();
//code down here now wont get run
?>
Voici une solution au problème "les en-têtes ont déjà été envoyés". Supposons que vous validez et envoyez un formulaire par courrier électronique. Assurez-vous que le code php est la première chose sur votre page ... avant les balises doctype et head et tout ce jazz. Ensuite, lorsque le POST revient à la page, le code php vient en premier et ne rencontre pas le problème des en-têtes déjà envoyés.