Pb identification php
Résolu
Jason_007
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
Jason_007 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Jason_007 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voici le code
"<?php
session_start();
if (isset($_SESSION["membre_ndx"]) and $_GET["code"])
{
?>
<link rel="stylesheet" type="text/css" href="../css/styles.css">
<p align="center" class="xbig"><u>Modification d'un statut </u></p>
<p align="center" class="xbig"> </p>
<form name="form1" method="post" action="modif_statut_job.php">
<div align="center">
<input type="text" name="statut" value="<?php echo $_GET["statut"] ?>">
<input type="submit" name="Submit" value="Modifier">
</div>
</form>
<?php
}
else //Sinon
{
echo $_SESSION["membre_ndx"];
echo $_GET["statut"];
?>
<link rel="stylesheet" type="text/css" href="../css/styles.css">
<p>Ces données sont accessibles seulement en se logguant. </p>
<?php
}
?>"
J'ai mis en bas de code (après le else) 2 echo permettant de vérifier si je reçois bien les variables $_SESSION["membre_ndx"] et $_GET["statut"].
Voici le message d'erreur lisible dans le navigateur :
"Notice: Undefined index: membre_ndx in c:\program files\easyphp1-8\www\presse\application\modif_statut.php on line 25
6
Ces données sont accessibles seulement en se logguant."
La première ligne veut dire qu'il ne connait pas la variable membre_ndx et le "6" est bien le code statut envoyé par une autre page, ça c'est bon.
Pourquoi ne reconnait-il pas membre_ndx, puisque le code :"
<?php
session_start();
if (isset($_SESSION["membre_ndx"])" est utilisé à chaque début de page dans la moitié de mon application sans que cela ne pose de problème.
Merci de votre aide, j'en perd mon latin.
Jaco
Voici le code
"<?php
session_start();
if (isset($_SESSION["membre_ndx"]) and $_GET["code"])
{
?>
<link rel="stylesheet" type="text/css" href="../css/styles.css">
<p align="center" class="xbig"><u>Modification d'un statut </u></p>
<p align="center" class="xbig"> </p>
<form name="form1" method="post" action="modif_statut_job.php">
<div align="center">
<input type="text" name="statut" value="<?php echo $_GET["statut"] ?>">
<input type="submit" name="Submit" value="Modifier">
</div>
</form>
<?php
}
else //Sinon
{
echo $_SESSION["membre_ndx"];
echo $_GET["statut"];
?>
<link rel="stylesheet" type="text/css" href="../css/styles.css">
<p>Ces données sont accessibles seulement en se logguant. </p>
<?php
}
?>"
J'ai mis en bas de code (après le else) 2 echo permettant de vérifier si je reçois bien les variables $_SESSION["membre_ndx"] et $_GET["statut"].
Voici le message d'erreur lisible dans le navigateur :
"Notice: Undefined index: membre_ndx in c:\program files\easyphp1-8\www\presse\application\modif_statut.php on line 25
6
Ces données sont accessibles seulement en se logguant."
La première ligne veut dire qu'il ne connait pas la variable membre_ndx et le "6" est bien le code statut envoyé par une autre page, ça c'est bon.
Pourquoi ne reconnait-il pas membre_ndx, puisque le code :"
<?php
session_start();
if (isset($_SESSION["membre_ndx"])" est utilisé à chaque début de page dans la moitié de mon application sans que cela ne pose de problème.
Merci de votre aide, j'en perd mon latin.
Jaco
A voir également:
- Pb identification php
- Entrer les informations d'identification reseau - Guide
- Easy php - Télécharger - Divers Web & Internet
- Supprimer identification instagram - Guide
- Identification instagram - Guide
- Expert php pinterest - Télécharger - Langages
9 réponses
Bonjour,
L'erreur est dans le Else, non ?
Or, justement, dans le Else, tu n'as plus forcément isset($_SESSION...) !
Xavier
L'erreur est dans le Else, non ?
Or, justement, dans le Else, tu n'as plus forcément isset($_SESSION...) !
Xavier
Non, ça vient pas de là
Je l'ai tout de même enlevé et j'ai
6
Ces données sont accessibles seulement en se logguant.
Seule la phrase Notice: Undefined index: membre_ndx in ..... a disparu mais ça ne marche toujours pas puiqu'il devrait m'afficher le formulaire au lieu de la phrase du bas qui est là uniquement pour empêché l'accés aux gens non identifiés.
HELP !
Je l'ai tout de même enlevé et j'ai
6
Ces données sont accessibles seulement en se logguant.
Seule la phrase Notice: Undefined index: membre_ndx in ..... a disparu mais ça ne marche toujours pas puiqu'il devrait m'afficher le formulaire au lieu de la phrase du bas qui est là uniquement pour empêché l'accés aux gens non identifiés.
HELP !
Euh...
Je ne vois pas comment il pourrait t'afficher le formulaire.
Ton "if" n'est pas vérifié, puisque
isset($_SESSION["membre_ndx"]) vaut FALSE
Donc il ne va pas à l'intérieur du "if", et ne va pas afficher le formulaire !
Je ne vois pas comment il pourrait t'afficher le formulaire.
Ton "if" n'est pas vérifié, puisque
isset($_SESSION["membre_ndx"]) vaut FALSE
Donc il ne va pas à l'intérieur du "if", et ne va pas afficher le formulaire !
J'ai bien compris que mon if n'était pas vérifier, je veux savoir pourquoi car il devrait l'être.
Merci
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ah excuse-moi, j'avais mal compris ^^'
Bon, j'imagine que ta variable est correctement mise en session, enfin dans le doute montre nous quand même le code où tu le fais.
Autre possibilité : vérifie dans ton php.ini la valeur du paramètre
session.auto_start
S'il est à 1, alors à chaque nouvelle page la session sera automatiquement ouverte. La conséquence, c'est que quand, toi, tu fais session_start(), ça va écraser l'ancienne session pour en commencer une nouvelle ! Et du coup, tu perds tout.
Donc, deux solutions :
- Soit tu mets session.auto_start à 0 ;
- Soit tu enlèves le session_start() du début de ta page.
Personnellement, je préfère la première solution qui permet de maîtriser les fermetures et ouvertures de session.
Bon, j'imagine que ta variable est correctement mise en session, enfin dans le doute montre nous quand même le code où tu le fais.
Autre possibilité : vérifie dans ton php.ini la valeur du paramètre
session.auto_start
S'il est à 1, alors à chaque nouvelle page la session sera automatiquement ouverte. La conséquence, c'est que quand, toi, tu fais session_start(), ça va écraser l'ancienne session pour en commencer une nouvelle ! Et du coup, tu perds tout.
Donc, deux solutions :
- Soit tu mets session.auto_start à 0 ;
- Soit tu enlèves le session_start() du début de ta page.
Personnellement, je préfère la première solution qui permet de maîtriser les fermetures et ouvertures de session.
Je pense savoir d'ou ça vient.
Pour la seule fois (d'ou problème uniquement sur cette page alors que j'utilise ce code plusieurs fois), je ne fais pas parvenir le lien via un header:location mais via une adresse dans un a href.
Je ne vois que ça, voici un exemple de lien pointant vers la page posant problème :
<a href=" http://localhost/presse/application/modif_statut.php?statut= <?php echo $ligne['id_statut'] ?>" ><?php echo $ligne['statut'] ?></a></td>
Etant en train de tenter de réécrire le code, je refais de mémoire, mais ça devait venir de là.
J'essaye donc de créer des liens a href sur la page précédente à partir de header : location mais je galère car n'est jamais fait
Est-ce celà ?
Comment faire ?
Help toujours.... mais on avance
Pour la seule fois (d'ou problème uniquement sur cette page alors que j'utilise ce code plusieurs fois), je ne fais pas parvenir le lien via un header:location mais via une adresse dans un a href.
Je ne vois que ça, voici un exemple de lien pointant vers la page posant problème :
<a href=" http://localhost/presse/application/modif_statut.php?statut= <?php echo $ligne['id_statut'] ?>" ><?php echo $ligne['statut'] ?></a></td>
Etant en train de tenter de réécrire le code, je refais de mémoire, mais ça devait venir de là.
J'essaye donc de créer des liens a href sur la page précédente à partir de header : location mais je galère car n'est jamais fait
Est-ce celà ?
Comment faire ?
Help toujours.... mais on avance
Concernant le message précédent, j'ai vérifié session.auto_start qui est bien à 0.
Celà ne m'étonne pas, puisque les autres pages marchent et que c le seul endroit ou je perds mes infos de session.
De plus, ma dernière idée est mauvaise puisque lors d'un menu, je fais des liens en a href et non en header(location:...) et ça marche quand même.
Le mystère s'épaissiiiiiiii
Merci de votre aide !
Jaco
Celà ne m'étonne pas, puisque les autres pages marchent et que c le seul endroit ou je perds mes infos de session.
De plus, ma dernière idée est mauvaise puisque lors d'un menu, je fais des liens en a href et non en header(location:...) et ça marche quand même.
Le mystère s'épaissiiiiiiii
Merci de votre aide !
Jaco
Mmmh, est-ce que tous tes liens sont définis en relatifs ? Ou en absolu ? Est-ce bien le même nom de domaine qui est spécifié, si c'est en absolu ? En effet, les sessions sont gérées à l'aide de cookies, qui sont spécifiques à un domaine : une session définie pour localhost et une session définie pour 127.0.0.1 seront différentes !