|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : mai 2007 Messages : 45 ![]() |
Bonsoir,
Je travaille actuellement sur un projet web, et pour une adminstration je voudrais utiliser les sessions. Il y a un fichier index.php, et mes pages sont tout simplement des fonctions présent dans la page index.php. Quand je vais sur ma page index.php, il m'affiche ma fonction index(). Il affiche le formulaire pour s'identifier et ensuite affiche la fonction index qui est caché si on es pas identifier. Malheureusement quand je clic dans ma page caché vers une autre page, la fonction p2()(qui devrait être une deuxieme page) ne s'affiche pas mais le formulaire d'identification et quand je le remplis je retombe sur ma fonction index(). Code :
Merci |
||
|
|
00
|
|
|
#2 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Votre variable de session connect est écrasée à chaque appel de la page via :
Sachant que vous testez son existence pour savoir si vous êtes ou non connectés elle n'est pas vraiment nécessaire. Si vous souhaitez la définir si ce n'est pas déjà le cas ajoutez un test avec (!)isset avant. |
|
|
00
|
|
|
#3 | |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 45 ![]() |
Citation:
|
|
|
|
00
|
|
|
#4 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Je crois avoir trouvé un test erroné :
Celui ci-dessous serait plus approprié car ce paramètre ne prend pas de valeur : Note : la fonction session_register est dépréciée (utilisez plutôt $_SESSION['login'] = $passe;) et $postconnexion n'est pas définie au début ($postconnexion = 0; à ajouter dans le else ?). |
|
|
00
|
|
|
#5 | |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 45 ![]() |
Citation:
Sinon, comment savoir la prochaine fois lequel utiliser la prochaine fois entre isset et !empty ? Merci |
|
|
|
00
|
|
|
#6 | ||
|
Invité régulier
![]() Inscription : mai 2007 Messages : 45 ![]() |
Une question me vient maintenant que j'ai réglé le plus gros problème :
Code :
Car quand je rafraichis ma page caché, il me dit qu'elle contient des données envoyer par POST, et j'aime pas trop ça... Merci |
||
|
|
00
|
|
|
#7 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
Le but était de savoir si $_GET['P2'] était ou non définie. Sa valeur nous importe peu puisqu'elle n'est pas utilisée et par conséquent empty, dans tous les cas, vous renvoyait FALSE car soit elle n'est pas définie soit c'est une chaîne vide. Citation:
|
||
|
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 45 ![]() |
Je vous remercie pour l'explication.
J'ai trouver un petite erreur, mais je ne sais pas vraiment comment la résoudre... Quand je clic sur des liens (exemple : index.php?Preferences ) qui se trouve dans mon index ou autre page il les affiches, mais quand je fais un lien tout court vers index.php il m'affiche le formulaire d'inscription... Comment résoudre ce problème ? |
|
|
00
|
|
|
#9 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
La session existe bien la deuxième fois que vous passez par index.php tout court mais ces variables ne sont pas testées/utilisées c'est pourquoi vous retrouvez le formulaire. Etait-ce bien votre question ?
|
|
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 45 ![]() |
Je voulais savoir comment faire pour éviter d'avoir le formulaire quand je clic sur un lien qui est censé ramener à l'accueil.
Merci |
|
|
00
|
|
|
#11 | ||||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
C'est bien ce que je disais
![]() Remplacer : Code :
Code :
|
||||
|
|
00
|
|
|
#12 | ||
|
Invité régulier
![]() Inscription : mai 2007 Messages : 45 ![]() |
Bonsoir,
J'ai réussi à faire que quand je clic sur un lien index.php ça ne renvoit pas le formulaire. Sinon je rencontre un soucis maintenant, sur la connexion via une BDD. Il n'arrive pas à me connecté, mon script n'est il pas bon ? Code :
|
||
|
|
00
|
|
|
#13 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
ça ne sert strictement à rien de parcourir toute la table surtout en la triant. Utilisez la clause WHERE pour ne sélectionner que les enregistrements qui correspondent à ces login/mot de passe et la fonction d'aggrégation COUNT qui vous permet de savoir combien y correspondent (normalement c'est un seul ou aucun) :
Code :
Quant au problème sur la variable $login, c'est sans doute dû à la ligne ci-dessous : Je ne sais pas ce que vous cherchez à faire avec celle-ci ![]() Recommandation : développez avec error_reporting à E_ALL (pour PHP 5 à E_ALL|E_STRICT serait encore mieux) qui vous mettra tout de suite la puce à l'oreille lorsque quelque chose ne va pas du fait des messages d'erreurs affichés et votre code en sera d'autant plus propre. |
||
|
|
00
|
|
|
#14 | ||||
|
Invité régulier
![]() Inscription : mai 2007 Messages : 45 ![]() |
Citation:
Et la requête, je l'ai déplacé pour éviter de la faire s'il n'y a pas de variable $login et $passe. Citation:
Merci pour toutes vos réponses et votre aide précieuse dans l'avancement de mon projet. Plougy |
||||
|
|
00
|
|
|
#15 | ||
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Citation:
![]() Citation:
La fonction index() doit être appelée avant d'utiliser $login en dehors de celle-ci (sauf que cette fonction n'est pas toujours appelée). N'oubliez pas que vous y avez normalement accès directement via la session ($_SESSION['login']). |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com