Rechercher : dans
Par :

Session n'a marche pa

Dernière réponse le 13 nov 2009 à 09:53:12 jojo, le 12 nov 2009 à 17:10:01 
 Signaler ce message aux modérateurs

Bonjour,
j'ai un prb avec les sessions
dans page compte je met

page compte.php
<? session_start();
$_SESSION['id']="4"; ?>

page recuperer.php
<? session_start();
echo $_SESSION['id']; ?>
mais il donne erreur
Notice: Undefined index: id in c:\program files\easyphp1-8\www\recuperer.php on line 2
line2 c'est la ligne echo $_SESSION['id']; ?>
mrc

Configuration: Windows XP Internet Explorer 6.0

Meilleures réponses pour « session n'a marche pa » dans :
Vol de session TCP (TCP session hijacking) Voir Le vol de session TCP Le « vol de session TCP » (également appelé détournement de session TCP ou en anglais TCP session hijacking) est une technique consistant à intercepter une session TCP initiée entre deux machine afin de la détourner. Dans la...
Les clés de session Voir Intérêt d'une clé de session Les algorithmes asymétriques (entrant en jeu dans les cryptosystèmes à clé publique) permettent de s'affranchir de problèmes liés à l'échange de clé via un canal sécurisé. Toutefois, ces derniers restent beaucoup moins...
[Windows] Mot de passe de session perdu ou oublié Voir Cette astuce vous aidera si vous avez perdu votre mot de passe de session. Cette méthode fonctionne jusqu'à Windows 2000, mais pas (ou plus ?) XP. Si vous n'êtes pas l'administrateur du système Il est nécessaire de demander à l'administrateur de...
Créer un script d'ouverture de session VoirWindows permet de définir des scripts d'ouverture de session, c'est-à-dire des scripts contenant des commandes exécutés dès qu'un utilisateur ouvre une nouvelle session. Les scripts d'ouverture de session permettant de lancer des tâches qui seront...
Ma session s'ouvre et se referme VoirProblème Comment faire lorsque ma session s'ouvre et se referme ? Solution Si Windows ne charge pas les paramètres personnels et que vous retombez sur l'écran d'ouverture de session : Méthode n°1 Vous revenez sur l'écran d'ouverture de session...

1

le père, le 12 nov 2009 à 18:00:43

Bonjour

Ça devrait marcher comme ça, même si tu devrais écrire <?php plutôt que <?
Mais s'agit-il bien d'une même session ? Comment passes-tu de la page compte.php à la page recuperer.php ? Il ne faut pas refermer le navigateur entre les deux .

Répondre à le père

2

jojo, le 12 nov 2009 à 18:15:13

Mrc
j'ai un fomulaire de connexion
<form method="post" action="recuperer.php" name="form1">
<table align="center">




<tr>
<td>Login</td>
<td><input type="text" name="login" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input type="password" name="psw" value=""/></td>
</tr>
<tr>
<td align="center"><input type="reset" value="Annuler" /></td>
<td align="center" ><input type="submit" value="Envoyer" name="btnEnvoyer"/></td>

</tr>

Répondre à jojo

3

le père, le 12 nov 2009 à 18:20:56

Je suppose que le formulaire est bien dans compte.php, tu ne le précises pas :)
Les session_start() sont-ils bien dès la 1ère ligne de chacun des scripts compte.php et recuperer.php ?

Répondre à le père

4

jojo, le 12 nov 2009 à 18:24:56

Oui j'ai fait ces conseils je met session_start() la premiere instruction
page recuperer.php
<?php session_start();
echo $SESSION['id']
?>

Répondre à jojo

5

jojo, le 12 nov 2009 à 18:29:42

Oui j'ai fait ces conseils je met session_start() la premiere instruction
page recuperer.php
<?php session_start();
echo $_SESSION['id'] ;
?>

Répondre à jojo

6

le père, le 12 nov 2009 à 18:41:49

Ça a bien l'air correct.
Peux-tu donner le code complet de la page compte.php ? (en cachant les mots de passe s'il y en a)
je risque de mettre assez longtemps à répondre car je vais être occupé pendant quelques heures.

Répondre à le père

7

jojo, le 12 nov 2009 à 18:54:25

Mrc et voila le code de compte.php

<?php session_start();
include_once("../connexion.php");
if (isset($_POST['btnEnvoyer']))
{
$log=strtolower($_POST['id']) ;
$pass=$_POST['psw'] ;
$find =mysql_query("SELECT * FROM client where login='$log' and mot_pass=$pass")
$r=mysql_fetch_array($find);
if (mysql_num_rows($find)==0)
{
echo"erreur de connection";
}
else
{
$_SESSION['id']=$_POST['id];

}
}
else
{

}
?>
<html>
<body>
Afin de pouvoir ajouter des annonces,
utiliser divierses options vous devez vous identifier. <br/><br/><br/><br/>
<form method="post" action="recuperer.php" name="form1">
<table align="center">
<tr>
<td>Login</td>
<td><input type="text" name="id" /></td>
</tr>
<tr>
<td>Mot de passe :</td>
<td><input type="password" name="psw" value=""/></td>
</tr>
<tr>
<td align="center"><input type="reset" value="Annuler" /></td>
<td align="center" ><input type="submit" value="Envoyer" name="btnEnvoyer"/></td>

</tr>
</table>
<center>
<a href="passperdue.php">mot de pass perdue</a>
<a href="client\FormulaireClints.php">Nouvelle inscription</a>
</center>
</form>
</body>
</html>

Répondre à jojo

8

le père, le 12 nov 2009 à 22:21:11

Il est où le $_SESSION['id']="4"; dont tu parlais dans ton 1er message ? Il n'y en a pas.
Si tu crois que le $_SESSION['id']=$_POST['id']; fait la même chose, détrompe-toi
Ton $_SESSION['id']=$_POST['id']; n'est jamais exécuté parce que la condition if (isset($_POST['btnEnvoyer'])) n'est jamais remplie. En effet, tu as bien un champ btnEnvoyer dans ton formulaire, mais le formulaire est envoyé à recuperer.php (à cause du <form action="recuperer.php") Donc quand compte.php s'exécute, $_POST['btnEnvoyer'] n'existe pas.
Le traitement de ton formulaire devrait être dans recuperer.php, ou tu devrais mettre action=compte.php. Mais tu ne peux pas dire action = un fichier, et faire le traitement dans l'autre !

Remarque: fais des copier-coller corrects. Car il te manque une apostrophe à $_SESSION['id']=$_POST['id'];, ça m'étonnerait que ça passe sans "parse error"

Répondre à le père

9

 joj, le 13 nov 2009 à 09:53:12

Slt pére
mrc bcp pr l'aide c'etait incroyable,il marche tres bien
et moi je doit lire plus les tuto prq j ss debutant
mrc encore

Répondre à joj