Problème php - Fonction die, arret de script
10 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Problème php - Fonction die, arret de script
Bonjour,
Je viens d'installer un espace membre.
Si l'utilisateur n'est pas connecté sur une page qui require une authentification, le script s'arrère et un message s'arrète.
Le problème:
Ce message ne s'affiche pas dans le design de mon site, mais sur une page blanche, si j'esseille de faire sa >
La moitié de mon design s'affiche, car quand j'affiche le design, ce qui suit est stoppé (est ce n'est pas que le php ! c'est tout le design... ce qui fait que je ne vois pas la bas de mon design...
Comment faire ?
Y a t'il un autre moyen pour dire au visiteur qu'il ne peux pas voir cette page ?
Merci d'avance !
Je viens d'installer un espace membre.
Si l'utilisateur n'est pas connecté sur une page qui require une authentification, le script s'arrère et un message s'arrète.
- Code: Tout sélectionner
<?php
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
require("conf.php3"); //Commme d'ab
if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
die('Vous devez être identifier pour pouvoir utiliser cette fonctionnalité. Si vous ne possédez pas de compte, rendez vous au formulaire d\'inscription.');
}
....
?>
Le problème:
Ce message ne s'affiche pas dans le design de mon site, mais sur une page blanche, si j'esseille de faire sa >
- Code: Tout sélectionner
<?php
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
require("conf.php3"); //Commme d'ab
...
?>
Mon code html
<?
if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
die('Vous devez être identifier pour pouvoir utiliser cette fonctionnalité. Si vous ne possédez pas de compte, rendez vous au formulaire d\'inscription.');
}
?> (juste avant mon texte que je ne veux pas afficher)
Fin code html
La moitié de mon design s'affiche, car quand j'affiche le design, ce qui suit est stoppé (est ce n'est pas que le php ! c'est tout le design... ce qui fait que je ne vois pas la bas de mon design...
Comment faire ?
Y a t'il un autre moyen pour dire au visiteur qu'il ne peux pas voir cette page ?
Merci d'avance !
Au lieu d'arrêter l'exécution du script si l'utilisateur n'est pas connecté, fais plutôt un include du texte à afficher si l'utilisateur est connecté. Sinon, tu affiches le message d'erreur.
if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
print('Vous devez être identifier pour pouvoir utiliser cette fonctionnalité. Si vous ne possédez pas de compte, rendez vous au formulaire d\'inscription.');
}
else
{
print(' ton texte à afficher');
};
if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
print('Vous devez être identifier pour pouvoir utiliser cette fonctionnalité. Si vous ne possédez pas de compte, rendez vous au formulaire d\'inscription.');
}
else
{
print(' ton texte à afficher');
};
Si j'ai bien compris si l'utilisateur n'est pas connecté sela s'affiche:
print('Vous devez être identifier pour pouvoir utiliser cette fonctionnalité. Si vous ne possédez pas de compte, rendez vous au formulaire d\'inscription.');
Si il est connecté le texte "ton texte à afficher" s'affiche.
ok c'est très bien, mais ce n'est pas supert,
car si à la place de "ton texte à afficher" je veux mettre par exemple un script, un tableau html, c'est compliqué, il faudrais que je mette des "\"
Comprend tu ?
Enfaite je voudrais cacher un formulaire php d'ajout de kis graphique, de commentaires...
print('Vous devez être identifier pour pouvoir utiliser cette fonctionnalité. Si vous ne possédez pas de compte, rendez vous au formulaire d\'inscription.');
Si il est connecté le texte "ton texte à afficher" s'affiche.
ok c'est très bien, mais ce n'est pas supert,
car si à la place de "ton texte à afficher" je veux mettre par exemple un script, un tableau html, c'est compliqué, il faudrais que je mette des "\"
Comprend tu ?
Enfaite je voudrais cacher un formulaire php d'ajout de kis graphique, de commentaires...
Eh bien, il suffit que tu sorte des balises php, et que tu mette ton code.
Même chose pour le if au dessus.
Il est logique que le bas de ton design soit coupé lors d'un die.
die arrete l'execution d'un script. Donc, ton script est arreté en plein milieu, tu n'a pas le reste.
- Code: Tout sélectionner
<?php
if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
print('Vous devez être identifier pour pouvoir utiliser cette fonctionnalité. Si vous ne possédez pas de compte, rendez vous au formulaire d\'inscription.');
}
else
{ ?>
<table><tr><td>test</td></tr></table>
<?php }; ?>
Même chose pour le if au dessus.
Il est logique que le bas de ton design soit coupé lors d'un die.
die arrete l'execution d'un script. Donc, ton script est arreté en plein milieu, tu n'a pas le reste.
Merci pour tous vos informations, je vais essailer de faire ce que ma dit kazhar, lancé sur l'idée de ninive.
Je vous tiens au courant dans les prochaines heures !
Cordialement
Guicara
Edit ----
Cette méthode reste t'elle sécurisé ?
Je vous tiens au courant dans les prochaines heures !
Cordialement
Guicara
Edit ----
Cette méthode reste t'elle sécurisé ?
Excusez moi pour le double post,
tout marche très bien.
J'ai rajouter un block dans mon menu, qui s'affiche (que si on est connecté). Il contient des infos pour l'identifier....
La tout parche
apart quand je met le code pour afficher le menu (que si identifier) sur la page ou je possèfe mon livre d'or (script php) qui n'utilise pas les sessions.
A la place du menu du membre (connecté ou pas) je vois ceci:
Vous pouvez voir par vous même:
http://www.graphiques-kits.com/livre/index.php
D'ou sa vient ?
J'ai ensuite enlever le code pour afficher ce fameux menu, et sa apparait toujours !
Merci de votre aide
(ps: je n'ais pas voulu ouvrir un nouveau post pour sa)
tout marche très bien.
J'ai rajouter un block dans mon menu, qui s'affiche (que si on est connecté). Il contient des infos pour l'identifier....
La tout parche
apart quand je met le code pour afficher le menu (que si identifier) sur la page ou je possèfe mon livre d'or (script php) qui n'utilise pas les sessions.
A la place du menu du membre (connecté ou pas) je vois ceci:
- Code: Tout sélectionner
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /homepages/18/d144479851/htdocs/livre/index.php:11) in /homepages/18/d144479851/htdocs/livre/index.php on line 571
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /homepages/18/d144479851/htdocs/livre/index.php:11) in /homepages/18/d144479851/htdocs/livre/index.php on line 571
Vous pouvez voir par vous même:
http://www.graphiques-kits.com/livre/index.php
D'ou sa vient ?
J'ai ensuite enlever le code pour afficher ce fameux menu, et sa apparait toujours !
Merci de votre aide
(ps: je n'ais pas voulu ouvrir un nouveau post pour sa)
tu peux auss utiliser du code html dans le die
pour info
- Code: Tout sélectionner
die("<html><body>pas bien</body></html>");
pour info
Mais c'est horriblement crade de mettre toute la fin de ta page dans le die ...
Pour ton erreur, cela vient du fait que tu a envoyé des caractères, via un echo ou avant d'entrer dans la balise php, donc les headers ont déjà été transmis et il ne peut le refaire.
Pour ton erreur, cela vient du fait que tu a envoyé des caractères, via un echo ou avant d'entrer dans la balise php, donc les headers ont déjà été transmis et il ne peut le refaire.
10 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Aperçu des différents types de redirection
- MyMaps : des cartes personnalisées avec Google Maps
- Les albums web Picasa passent à 1 Go de stockage
- Moteur de recherche dans les blogs de Google
- Photos satellite des incendies en Grèce dans Google Earth
- Ajouter un Gadget Google sur son site
- Google Desktop pour Mac OS X
- Le positionnement d'annonces AdSense : explications
- Picasa Web Albums en français
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits
Consultez la description détaillée des produits ou services de Google suivants : Google Related Links
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité






le forum