Page 1 sur 1

Message d'erreur if no redirection

Posté : 26 août 2013, 15:14
par jeremyiziboot
Bonjour, alors j'ai un petit problème j'ai fais une redirection sur une page qui redirige vers une autre page, et j'aurai aimé savoir comment faire que si on accéde à la page sans la redirection, que la page affiche un message d'erreur.

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 15:17
par moogli
salut,


ajoute un paramètre en session pour indiqué que tu viens de la première page et à l'affichage tu vérifie la présence de cette info puis la supprime si tu souhaite un affichage unique.

par exemple
<?php
// page 1
$_SESSION['viens de page un'] = true;

// page 2 ou 3
if(empty($_SESSION['viens de page un'])) {
//Viens pas de la première page, affiche le message d'erreur. 
}
@+

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 15:32
par jeremyiziboot
Merci de ta réponse.
Mais ça marche pas avec moi j'ai du sûrement faire une erreur peux tu me corrigé?

Dans la page de redirection pour l'accès à mes serveurs j'ai mis ça:

<?php
$_SESSION['Serveurboot'] = true;
?>

Et dans la page ou je veux que si on sois pas redirigé et ça affiche un message d'erreur j'ai mis ça:

<?php
if(empty($_SESSION['redirectionserveur.html'])) {
//Viens pas de la première page, affiche le message d'erreur.
}
?>

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 15:40
par Mazarini
Remplace 'redirectionserveur.html' par 'Serveurboot'
Et pense à remettre la variable à false ou à la supprimer après utilisation.

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 15:52
par jeremyiziboot
Remplace 'redirectionserveur.html' par 'Serveurboot'
Et pense à remettre la variable à false ou à la supprimer après utilisation.
Merci de me répondre, mais j'ai suivis vos conseils, mais j'ai toujours accès à la page sans être redirigé,
Dans la page de redirection:

<?php
$_SESSION['Serveurboot'] = false;
?>

Dans la page concerné:

<?php
if(empty($_SESSION['Serveurboot'])) {
//Viens pas de la première page, affiche le message d'erreur.
}
?>

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 15:53
par xTG
As-tu un session_start() en début de chaque script ?

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 16:00
par jeremyiziboot
As-tu un session_start() en début de chaque script ?
Oui.

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 16:13
par Mazarini
false '' et 0 doivent correspondre à Empty()
C'est après le test qu'il faut remettre la variable de session à false.
<?php
$_SESSION['Serveurboot'] = true;
// redirect
?>
<?php
if(empty($_SESSION['Serveurboot'])) {
//Viens pas de la première page, affiche le message d'erreur. 
}
$_SESSION['Serveurboot'] = false; // A moins que tu veuilles conserver le fait d'être passé par la page avec le redirect
?>

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 16:48
par jeremyiziboot
false '' et 0 doivent correspondre à Empty()
C'est après le test qu'il faut remettre la variable de session à false.
<?php
$_SESSION['Serveurboot'] = true;
// redirect
?>
<?php
if(empty($_SESSION['Serveurboot'])) {
//Viens pas de la première page, affiche le message d'erreur. 
}
$_SESSION['Serveurboot'] = false; // A moins que tu veuilles conserver le fait d'être passé par la page avec le redirect
?>
J'ai fais tout ce qui avait à faire j'ai fais des tests sur d'autre page de mon site et ça n'as pas l'air de marché mais pourtant un ami ma dis qu'il fallait utilisé les sessions donc sois c'est moi qui manie mal ton code ou sois c'est une erreur de ta part (ce que je ne crois pas). Je réexplique ce que j'ai fais:
Dans la redirection:

Cette page se nomme: redirectionserveur.php
<?php
session_start();
$_SESSION['Serveurboot'] = true;
// redirect
?>
<?php      
  header('Location: Serveurboot');      
?>
et dans la page en question qui es situé dans un sous dossier:

Cette page se nomme: Serveurboot
<?php
if(empty($_SESSION['Serveurboot'])) { 
//Viens pas de la première page, affiche le message d'erreur. 
}
$_SESSION['Serveurboot'] = false; // A moins que tu veuilles conserver le fait d'être passé par la page avec le redirect
?>
Merci de votre aide.

Re: Message d'erreur if no redirection

Posté : 26 août 2013, 20:43
par moogli
et dans la page en question qui es situé dans un sous dossier:

Cette page se nomme: Serveurboot
<?php
if(empty($_SESSION['Serveurboot'])) { 
//Viens pas de la première page, affiche le message d'erreur. 
}
$_SESSION['Serveurboot'] = false; // A moins que tu veuilles conserver le fait d'être passé par la page avec le redirect
?>
a priori tu n'a pas de session_start() sur la seconde page et la du coup ça ne peux fonctionner.


@+