Session n'a marche pa
jojo
-
joj -
joj -
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
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
4 réponses
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 .
Ç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 .
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 ?
Les session_start() sont-ils bien dès la 1ère ligne de chacun des scripts compte.php et recuperer.php ?
Ç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.
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.
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>
<?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>
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"
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"
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>