php redirection vers la page avec le message
je veux rediriger vers une page, puis d'afficher un message:
ce que j'ai est:
if (mysqli_affected_rows($link) == 1)
{
//succes
$message = 'succes';
redirect_to('index.php');
}
sur la page d'index j'ai:
if (!empty($message)) {
echo '<p class="message"> '.$message.'</p>';
}
La fonction de redirection fonctionne bien:
function redirect_to( $location = NULL ) {
if ($location != NULL) {
header("Location: {$location}");
exit;
}
}
Mais il n'affiche pas mon message. Son vide.
InformationsquelleAutor user1386906 | 2012-08-16
Vous devez vous connecter pour publier un commentaire.
Par le temps, la redirection se passe et le script PHP représenté par
$location
est exécutée,$message
variable aurait été disparu depuis longtemps.Pour le résoudre, vous devez passer votre message à votre emplacement de l'en-tête, à l'aide de
GET
variable:header("Location: $location?message=success");
Et
Vous pouvez également regarder dans des séances de
puis dans la destination de script:
Variables cessent d'exister après la fin du script. Chaque demande, chaque script PHP invocation est un tout nouveau contexte, l'absence de données à partir de tout autre invocation.
Utilisation des séances de pour conserver les données.
vous pouvez utiliser les sessions
et sur l'indice de
Puisque vous êtes en cours d'exécution
header("Location: {$location}");
la valeur de$location
(défini dans le premier fichier) est perdue lors de la index.php est chargé.utiliser le code suivant....
dans index.php
vous pouvez éviter de rediriger la fonction et l'utilisation de ce code dans la page
index.php