Php problème entre les pages...
Résolu/Fermé
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
-
10 févr. 2006 à 20:56
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 - 26 févr. 2006 à 20:19
maxime_B Messages postés 788 Date d'inscription mardi 14 juin 2005 Statut Membre Dernière intervention 15 juin 2010 - 26 févr. 2006 à 20:19
A voir également:
- Php problème entre les pages...
- Supprimer des pages sur word - Guide
- Easy php - Télécharger - Divers Web & Internet
- Comment restaurer les pages google - Guide
- Comment numéroter les pages sur word - Guide
23 réponses
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
10 févr. 2006 à 21:13
10 févr. 2006 à 21:13
la solution pourrait me venir mais je ne sais pas si c'est possible de faire un truc comme ça
page.php:
<?php
session_start();
?>
page.php:
<?php
session_start();
?>
<?php include("haut.php"); ?>
<?php
if connected
header= menumembres.php
else header=menu.php
?>
<body>
gjturiezpdcjfesdfv
</body>
<?php include("pieddepage.php");?>
quelqu'un connaitrait la syntaxe exacte pour un code du genre???
( si on est loggé on affiche menumembre.php sinon on affiche menu.php c possible?)
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
13 févr. 2006 à 19:37
13 févr. 2006 à 19:37
...........
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
13 févr. 2006 à 21:32
13 févr. 2006 à 21:32
y aurait pas moyen de faire un truc du genre:
<?php if session_start(); { include ("menumembre.php"); } else { include ("menu.php"); } ?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
13 févr. 2006 à 21:51
13 févr. 2006 à 21:51
y aurait moyen de faire un truc du genre ou pas?????????????
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
13 févr. 2006 à 23:36
13 févr. 2006 à 23:36
Salut,
Pour savoir si quelqu'un est connecté, tu peux vérifier l'existence d'une variable session par exemple...
Pour savoir si quelqu'un est connecté, tu peux vérifier l'existence d'une variable session par exemple...
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
14 févr. 2006 à 21:29
14 févr. 2006 à 21:29
ce que j'ai fait:
le hic est donc que quand on se connecte, on accède à une page différente car il y a des endroits du site ou seuls les membres peuvent aller.
bon je t'explique un peu la structure du site:
intro javascript => accueil.php ( il y a une partie du menu servant à la connection|lorsque qq se connecte, il ouvre accueilmembre.php qui comprend un menu avec plus de liens )
jusque là sur la page accueilmembre.php tout va jusqu'à ce que je clique sur un lien=> la ça me redirige vers la bonne page, mais déconnecte l'utilisateur par la même occasion
et je ne sais pas pq mais quelques pages semblent être accesibles par un non-logué......
<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: accueil.php'); exit(); } ?>
le hic est donc que quand on se connecte, on accède à une page différente car il y a des endroits du site ou seuls les membres peuvent aller.
bon je t'explique un peu la structure du site:
intro javascript => accueil.php ( il y a une partie du menu servant à la connection|lorsque qq se connecte, il ouvre accueilmembre.php qui comprend un menu avec plus de liens )
jusque là sur la page accueilmembre.php tout va jusqu'à ce que je clique sur un lien=> la ça me redirige vers la bonne page, mais déconnecte l'utilisateur par la même occasion
et je ne sais pas pq mais quelques pages semblent être accesibles par un non-logué......
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
15 févr. 2006 à 21:27
15 févr. 2006 à 21:27
bon voila ce qui se trouve en haut de ma page accueil.php :
et voilà ce que je mets sur les autres pages du site
voilà
<?php // on teste si le visiteur a soumis le formulaire de connexion if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connect') { if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) { $base = mysql_connect ('localhost', 'root', ''); mysql_select_db ('test', $base); // on teste si une entrée de la base contient ce couple login / pass $sql = 'SELECT count(*) FROM membre WHERE login="'.addslashes($_POST['login']).'" AND pass_md5="'.md5(addslashes($_POST['pass'])).'" AND etat="'.md5(addslashes($_POST[1])).'"'; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data = mysql_fetch_array($req); mysql_free_result($req); mysql_close(); // si on obtient une réponse, alors l'utilisateur est un membre if ($data[0] == 1) { session_start(); $_SESSION['login'] = $_POST['login']; header('Location: accueilmembre.php'); exit(); } // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe elseif ($data[0] == 0) { $erreur = 'Compte non reconnu.'; } // sinon, alors la, il y a un gros problème :) else { $erreur = 'Problème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } } else { $erreur = 'Au moins un des champs est vide.'; } } ?>
et voilà ce que je mets sur les autres pages du site
<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: accueil.php'); exit(); } ?>
voilà
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
16 févr. 2006 à 22:23
16 févr. 2006 à 22:23
....
est-ce que quelqu'un comprend le problème??????
.........
est-ce que quelqu'un comprend le problème??????
.........
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
16 févr. 2006 à 23:34
16 févr. 2006 à 23:34
Non, comprend pas où est le problème dans le code...
Es-tu sûr q'une personne non loggée est vraiment non-loggée (et non pas anciennement loggée mais pas correctement déloggée)?
Comment tu détruis tes sessions?
Es-tu sûr q'une personne non loggée est vraiment non-loggée (et non pas anciennement loggée mais pas correctement déloggée)?
Comment tu détruis tes sessions?
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
17 févr. 2006 à 20:26
17 févr. 2006 à 20:26
avec cette page - ci (deconnection.php):
<?php session_start(); session_unset(); session_destroy(); header('Location: accueil.php'); exit(); ?>
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
17 févr. 2006 à 20:31
17 févr. 2006 à 20:31
je vais essayer de t'exposer en plus clair le prob.
y a un menu pour ceux qui veulnt se logger.
et en se loguant ils ouvrent une autre page......avec un autre menu.
y a un menu pour ceux qui veulnt se logger.
et en se loguant ils ouvrent une autre page......avec un autre menu.
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
18 févr. 2006 à 14:07
18 févr. 2006 à 14:07
..................
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
18 févr. 2006 à 14:24
18 févr. 2006 à 14:24
Au lieu de prendre session_unset(), prend plutôt
$_SESSION=array();
$_SESSION=array();
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
18 févr. 2006 à 21:36
18 févr. 2006 à 21:36
ok mais ça changera quoi?
tu comprends le problème que j'ai ou pas???
tu comprends le problème que j'ai ou pas???
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
19 févr. 2006 à 13:44
19 févr. 2006 à 13:44
Ben j'essaie.
Sur le site de Php, ils expliquent que les variables $_SESSION doivent être explicitement detruites en plus d'utiliser session_unset()
http://fr.php.net/manual/fr/function.session-unset.php
Sur le site de Php, ils expliquent que les variables $_SESSION doivent être explicitement detruites en plus d'utiliser session_unset()
http://fr.php.net/manual/fr/function.session-unset.php
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
19 févr. 2006 à 17:05
19 févr. 2006 à 17:05
voila donc comme un dessin vaut parfois mieux qu'un long discours :
http://www.image-dream.com/image.php?image=croquissiteJPG.jpg&pseudo=agouti
à mon avis, mon problème se situerais dans l'affichage du bon menu, mais comment faire???
http://www.image-dream.com/image.php?image=croquissiteJPG.jpg&pseudo=agouti
à mon avis, mon problème se situerais dans l'affichage du bon menu, mais comment faire???
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
19 févr. 2006 à 23:11
19 févr. 2006 à 23:11
Et alors le soucis c'est qu'un non-loggé accède à des pages résrvées à un loggé?
Ou alors le soucis c'est qu'un loggé se retrouve déconnecté lorsqu'il clique sur certains liens?
Ou alors le soucis c'est qu'un loggé se retrouve déconnecté lorsqu'il clique sur certains liens?
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
20 févr. 2006 à 17:28
20 févr. 2006 à 17:28
en gros c'est un peu ça. car je ne peux pas mettre 2 include de 2 menu's différents sur la même page (un qui affiche le formulaire d'identification et l'autre qui affiche la variable $_SESSION)et c'est bien là le problème pour les pages qui devraient pouvoir être visités ET par des membres ET par des personnes de passage
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
20 févr. 2006 à 21:23
20 févr. 2006 à 21:23
Alors en ce cas tu affiche soit un menu pour les membres connecté, soit un menu pour les non connectés (en fonction de la variable session, tu inclues telle partie ou l'autre).
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
20 févr. 2006 à 22:33
20 févr. 2006 à 22:33
je crois aussi mais comment faire?
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
20 févr. 2006 à 22:44
20 févr. 2006 à 22:44
En testant si la variable $_SESSION['login'] existe par exemple.
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
21 févr. 2006 à 22:44
21 févr. 2006 à 22:44
tester si la variable existe comment je dois faire?
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
22 févr. 2006 à 15:07
22 févr. 2006 à 15:07
ok je vois +/- la synthaxe.
tu connaitrait pas le mot pour afficher une page si la variable existe:
je crois que c'est ça apart qu'il faut autre chose à la place de header...
tu connaitrait pas le mot pour afficher une page si la variable existe:
<?php if (isset($_SESSION['login']) ) { header('Location: menumembre.php'); } else { header('Location: menu.php'); } ?>
je crois que c'est ça apart qu'il faut autre chose à la place de header...
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
22 févr. 2006 à 16:34
22 févr. 2006 à 16:34
include ?
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
23 févr. 2006 à 20:05
23 févr. 2006 à 20:05
je ne sais pas si include fonctionne car maintenant j'ai un autre problème.
Je ne sais pas ou je dois mettre quoi pour que ça soit valable regarde ce que j'ai mit, mais ily a des erreurs:( c la page accueil.php)
il y a quelque chose qui cloche, mais je ne sais pas quoi...
Je ne sais pas ou je dois mettre quoi pour que ça soit valable regarde ce que j'ai mit, mais ily a des erreurs:( c la page accueil.php)
<?php session_start(); if (!isset($_SESSION['login'])) { header ('Location: accueil.php'); exit(); } ?> <?php include("haut.php"); ?> <?php if (isset($_SESSION['login']) ) { include('Location: menumembre.php'); } else { include('Location: menu.php'); } ?> <div id="corps"> </div> <?php include('bas.php'); ?>
il y a quelque chose qui cloche, mais je ne sais pas quoi...
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
24 févr. 2006 à 07:48
24 févr. 2006 à 07:48
Ben oui, tu test deux fois cette condition:
La première fois que tu testes : tu rediriges, donc forcément la deuxième fois n'arrive jamais.,
!isset($_SESSION['login'])
La première fois que tu testes : tu rediriges, donc forcément la deuxième fois n'arrive jamais.,
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
24 févr. 2006 à 20:24
24 févr. 2006 à 20:24
qu'est-ce que je devrais mettre alors????(et où?)
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
24 févr. 2006 à 20:34
24 févr. 2006 à 20:34
Il faut enlever cette partie (si cette partie est executée, la suite ne l'est pas):
if (!isset($_SESSION['login'])) { header ('Location: accueil.php'); exit(); }
maxime_B
Messages postés
788
Date d'inscription
mardi 14 juin 2005
Statut
Membre
Dernière intervention
15 juin 2010
55
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
24 févr. 2006 à 22:09
24 févr. 2006 à 22:09
alors ici aucun menu ne s'affiche...
mais alors si j'enlève
(en supposant que mes menus s'affichent) comment faire passer les variables session?
mais alors si j'enlève
if (!isset($_SESSION['login'])) { header ('Location: accueil.php'); exit(); }
(en supposant que mes menus s'affichent) comment faire passer les variables session?
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 526
>
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
25 févr. 2006 à 00:16
25 févr. 2006 à 00:16
Je comprend pas trop ce que tu veux dire.
C'est session_start() qui fait passer les variables session.
C'est session_start() qui fait passer les variables session.