Bonjour à tous !

voilà mon problème :
je suis en train de faire un stage, et là je dois débuguer du code php.

La page index.php propose un formulaire de connexion tout bete avec method="POST" et action="index.php"
Ensuite un test est effectué d'apres une fonction présente dans une page.
Pour l'instant tout va bien.

Mais là le probleme arrive : si le test est ok, une redirection est effectuée. Mais dans la page de destination, la variable de session n'est plus reconnue.

Pour plus de clarté, voici les bouts de code :

dans index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
<?php
session_start();
 
include_once("include/database.php");
if (array_key_exists('login', $_POST))
{ 
	if (dbAuthUser($_POST['user'], $_POST['pwd']))
	{ 
		header("Location:search.php");
	}
	else header("Location:index.php");
}
else
{
print "<html>";
print "<header>";
print "<title> Heudiabib </title>";
print "</header>";
print "<body>";
print "<center>";
print "<FORM NAME=\"usersAdd\" ACTION=\"index.php\" METHOD=\"POST\">";
print '      <fieldset>';
print '       <legend>Login</legend>';
 print '        <input type="hidden" name="id" value="welcome" />';
 print '       <input type="hidden" name="do" value="login" />';
 print '      <label>';
 print '          <span>Username</span>';
 print '          <input type="text" name="user" value="" class="edit" />';
 print '        </label><br />';
 print '        <label>';
 print '          <span>Password</span>';
 print '          <input type="password" name="pwd" class="edit" />';
 print '        </label><br />';
  print '        <input type="submit" name="login" value="Login" class="button" />';
print '      </fieldset>';
print "</form>";
print "</center>";
print "</body>";
print "</html>";
}
?>
Le problème se situe au niveau de : header("Location:search.php");

search.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
<?php
 
session_start();
 
if (!isset($_SESSION['user'])) header("Location:session_expired.php");
 
include_once ("include/database.php");
 
include_once ("include/bibtex.php");
 
ob_start(); // begin to fill the buffer
 
if (!isset($_SESSION['pg'])||$_SESSION['pg']=="") $_SESSION['pg']="pg=1";
 
?>
...
A partir de cette page $_SESSION['user'] n'est plus connu.
Donc perso, je pense que ca vient du fait qu'il n'y a aucune methode de transmission mise dans index.php


Donc ma quesrtion : comment faire pour récupérer la variable $_SESSION['user'] (qui est initialisée dans database.php et connue dans index.php) sans utiliser GET ? Parce header("Location:search.php?user="$_SESSION['user']); fonctionne mais je ne veux pas passer la variable de session en paramètre.

Est-ce assez clair ?
Pouvez-vous m'aider ?

Merci bien !!!