Problème php - Fonction die, arret de script
10 messages
• Page 1 sur 1
-

guicara - WRInaute passionné

- Messages: 2472
- Inscription: 2 Fév 2006
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 !
- ninive
- WRInaute discret

- Messages: 147
- Inscription: 3 Mar 2004
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');
};
-

guicara - WRInaute passionné

- Messages: 2472
- Inscription: 2 Fév 2006
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...
- dmathieu
- Modérateur

- Messages: 7244
- Inscription: 9 Jan 2004
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.
-

guicara - WRInaute passionné

- Messages: 2472
- Inscription: 2 Fév 2006
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é ?
-

guicara - WRInaute passionné

- Messages: 2472
- Inscription: 2 Fév 2006
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)
- sebnutt
- WRInaute passionné

- Messages: 1308
- Inscription: 10 Déc 2003
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
- dmathieu
- Modérateur

- Messages: 7244
- Inscription: 9 Jan 2004
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
Lectures recommandées sur ce thème :
- PHP : arret de l'execution d'un script ?
- Script PHP : affichage la langue en fonction du navigateur
- Espace perso + fonction php pour script shell
- [script Quixplorer] problème fonction téléchargement
- Appeler une fonction PHP avec 2 variables dans un prog JAVA script
- PHP->Problème avec une fonction
- probleme avec boucle While et fonction php mail()
- Problème avec la fonction php strstr et l'utf-8
- fonction mail() pour php : probleme fichiers joints
- [ Script PHP ] Problème de connexion (session php)
- Google Chrome dépasse Safari aux USA - 29-06-2010
- Les albums web Picasa passent à 1 Go de stockage - 08-03-2007
- MyMaps : des cartes personnalisées avec Google Maps - 05-04-2007
- Moteur de recherche dans les blogs de Google - 24-01-2007
- Photos satellite des incendies en Grèce dans Google Earth - 30-08-2007
- Aperçu des différents types de redirection - 04-08-2008
- Ajouter un Gadget Google sur son site - 04-10-2006
- Google Desktop pour Mac OS X - 05-04-2007
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 0 invités


