Sessions problème de débutant

Sessions problème de débutant - PHP - Programmation

Marsh Posté le 24-06-2009 à 11:01:12    

Bonjour,
Un problème de débutant:
Suite à un disfonctionnement de mon site intranet (serveur apache), qui fonctionnait très bien jusqu'a présent, j'ai écris trois petits scripts.
Sans obtenir le résultat voulu.
PHP Version 4.3.10-22
 
premier script:
test.php

Code :
  1. <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>Document sans titre</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  7. </head>
  8. <body>
  9. <form name="form1" id="form1" method="post" action="test1.php">
  10. <p>Login
  11.    <input type="text" name="login" />
  12.    Mot de passe
  13.    <input type="password" name="pass" />
  14.  </p>
  15.  <p>
  16.    <input type="submit" name="Submit" value="Envoyer" />
  17.  </p>
  18. </form>
  19. </body>
  20. </html>


 
 
Deuxième script:
test1.php
 

Code :
  1. <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>Document sans titre</title>
  6. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  7. </head>
  8. <body>
  9. <?php
  10. $login=$_POST['login'];
  11. $pass=$_POST['pass'];
  12. $_SESSION['session_user']=$login;
  13. echo $_SESSION['session_user'];
  14. echo " ".$login;
  15. ?>
  16. <form name="form1" id="form1" method="post" action="test2.php">
  17.  <p>
  18.    <input type="submit" name="Submit" value="Envoyer" />
  19.  </p>
  20. </form>
  21. </body>
  22. </html>


 
Troisième script:
test2.php

Code :
  1. <?php session_start();?>
  2. <?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head>
  6. <title>Document sans titre</title>
  7. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  8. </head>
  9. <body>
  10. <?php
  11. echo "session_user  ".$_SESSION['session_user'];
  12. ?>


 
 
Je ne vois pas ou ça cloche! Ma variable $_SESSION['session_user'] est vide!


Message édité par asterixobelix le 24-06-2009 à 11:34:54
Reply

Marsh Posté le 24-06-2009 à 11:01:12   

Reply

Marsh Posté le 24-06-2009 à 11:15:55    

please, édite ton message en mettant des balises "[ code = php ]" (sans les espaces), c'est vraiment pas commode à lire sans ça ...  
 
et à  part ça , dans test1.php tu fais appel à une variable $_SESSION, sans avoir fait un session_start sur cette page...

Reply

Marsh Posté le 24-06-2009 à 11:38:57    

En ajoutant session_start() au début de test1.php j'obtiens ces messages:
 
Warning: Unknown(): write failed: No space left on device (28) in Unknown on line 0
 
Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php4) in Unknown on line 0
 

Code :
  1. <?php session_start();
  2. echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?>
  3.  
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5.  
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7.  
  8. <head>
  9.  
  10. <title>Document sans titre</title>
  11.  
  12. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  13.  
  14. </head>
  15.  
  16.  
  17.  
  18. <body>
  19.  
  20. <?php
  21.  
  22.  
  23.  
  24. $login=$_POST['login'];
  25.  
  26. $pass=$_POST['pass'];
  27.  
  28.  
  29.  
  30. $_SESSION['session_user']=$login;
  31.  
  32. echo $_SESSION['session_user'];
  33.  
  34. echo " ".$login;
  35.  
  36.  
  37.  
  38. ?>
  39.  
  40. <form name="form1" id="form1" method="post" action="test2.php">
  41.  
  42.  <p>
  43.  
  44.    <input type="submit" name="Submit" value="Envoyer" />
  45.  
  46.  </p>
  47.  
  48. </form>
  49.  
  50. </body>
  51.  
  52. </html>

Reply

Marsh Posté le 24-06-2009 à 13:39:03    

Je pense que le session_start() doit être exécuté *après* les headers (mais avant le DOCTYPE) ...  esssaye simplement en supprimant momentanément tous tes headers ?


Message édité par ZeBix le 24-06-2009 à 13:39:40
Reply

Marsh Posté le 25-06-2009 à 11:09:24    

ah nan, le session_start(), c'est avant les headers...
C'est avant tout même ( sauf les ob, à la limite)...

Reply

Marsh Posté le 25-06-2009 à 13:27:28    

Merci de votre participation.
La réponse était impossible d'écrire sur /var/lib/php4 la partition était pleine!!
Problème résolu.

Reply

Marsh Posté le 25-06-2009 à 14:29:49    

Citation :

write failed: No space left on device (28) in Unknown on line 0


le message était effectivement clair ...


---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed