Se connecter / S'enregistrer
Votre question

Probleme PHP (session)

Tags :
  • Free
  • Programmation
Dernière réponse : dans Programmation
22 Mai 2006 08:35:26

Bonjour a vous cher IDnautes, j'ai trouvé sur internet un endroit ou je peux télécharger le code source du créateur...
Sur PHPCS

Tout va bien, je modifie le tout avec ma base de donnée, etc..., tout marche, l'inscription... un email de confirmation... tout va bien, mais c'est lorsque j'essais de m'identifier, je recois les erreurs suivantes

Warning: session_start() [function.session-start]: open(/mnt/107/free.fr/b/a/drhugues/sessions/sess_ee77ed29cdcbb583b220be9c58e0caf9, O_RDWR) failed: No such file or directory (2) in /mnt/107/free.fr/b/a/drhugues/session/verif.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/107/free.fr/b/a/drhugues/session/verif.php:2) in /mnt/107/free.fr/b/a/drhugues/session/verif.php on line 2

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/107/free.fr/b/a/drhugues/session/verif.php:2) in /mnt/107/free.fr/b/a/drhugues/session/verif.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /mnt/107/free.fr/b/a/drhugues/session/verif.php:2) in /mnt/107/free.fr/b/a/drhugues/session/verif.php on line 19

Warning: Unknown(): open(/mnt/107/free.fr/b/a/drhugues/sessions/sess_ee77ed29cdcbb583b220be9c58e0caf9, O_RDWR) failed: No such file or directory (2) 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 (/mnt/107/free.fr/b/a/drhugues/sessions) in Unknown on line 0


Puisqu'il me dit que c'est les lignes du fichier verif.php, le voici :

  1. <?php
  2. session_start();
  3. if(isset($_POST['pseudo']))
  4. {
  5. if(eregi("[\^'$()*+<>?#\"{}\\]",$_POST['pseudo']) OR eregi("[\^'$()*+<>?#\"{}\\]",$_POST['pass']))
  6. {
  7. echo 'Pas de caractères spéciaux';
  8. exit;
  9. }
  10. else
  11. {
  12. $connexion=@mysql_connect('sql.free.fr','**Utilisateur**','**Motdepasse**') OR die('Erreur de connexion mysql');
  13. @mysql_select_db('**Utilisateur**'); // il faut changer les paramètres de connexion à la base mysql
  14. $requete=mysql_query("SELECT COUNT(*) FROM membre WHERE pseudo='".$_POST['pseudo']."' AND pass='".$_POST['pass']."'");
  15. $r=mysql_fetch_row($requete);
  16. if($r[0]==1)
  17. {
  18. $_SESSION['login']=$_POST['pseudo'];
  19. header('location:index_mbr.php');
  20. exit;
  21. }
  22. }
  23. }
  24. else
  25. {
  26. echo 'Veuillez vous inscrire.';
  27. }
  28. ?>


Savez-vous ce que ca pourrais-etre ?
Merci, Hugues
Le docteur du pc

Autres pages sur : probleme php session

22 Mai 2006 12:24:39

t'as bien créé ton repertoire "sessions" a la racine de ton site?
22 Mai 2006 18:36:20

Apparament tu a quelque chose d'envoyé au client avant la fonction session_start() et également header() ;-)
Contenus similaires
22 Mai 2006 19:42:23

oui j'ai créé le répertoire session...

mais SiM07, je ne comprend pas... en haut du <?php ce n'Est que mon <body>...

est-ce que ca se pourrait que ca soit un problème du serveur free... qui n'accepterait pas ce type de sessions ?

Dans le pire des cas, avez vous un exemple de session qui fonctionne chez free et dont je pourrais avoir la source ?
22 Mai 2006 20:05:20

Il ne faut jamais mettre du code html avant d'envoyer des headers en php, session_start() envoie un header, c'est pour ca que ca te fait ca.
Il te suffit juste d'enlever le session_start et de le remettre tout au début de chaque page ou tu vas utiliser des variables de sessions
22 Mai 2006 20:10:23

il faut que en gaut de la page absolument tout en haut avant tout les includes mettre <?php même pas d'espace rien nada.
22 Mai 2006 21:08:02

je ne comprend pas... il n'y a pas de body... c'étais dans les autres pages...

j'ai tout changer, mais il me dit que le probleme vient du verif.php line 2 et 19...


ligne 2 :
  1. session_start();


ligne 19 :
  1. header('location:index_mbr.php');


tout le document... XXXXX = mon mot de passe dont je ne veux pas vous le dire :-P

  1. <?php // Ligne 1
  2. session_start(); // Ligne 2
  3. if(isset($_POST['pseudo'])) // Ligne 3
  4. { // Ligne 4
  5. if(eregi("[\^'$()*+<>?#\"{}\\]",$_POST['pseudo']) OR eregi("[\^'$()*+<>?#\"{}\\]",$_POST['pass'])) // Ligne 5
  6. { // Ligne 6
  7. echo 'Pas de caractères spéciaux'; // Ligne 7
  8. exit; // Ligne 8
  9. } // Ligne 9
  10. else // Ligne 10
  11. { // Ligne 11
  12. $connexion=@mysql_connect('sql.free.fr','drhugues','XXXXXXX') OR die('Erreur de connexion mysql'); // Ligne 12
  13. @mysql_select_db('drhugues'); // il faut changer les paramètres de connexion à la base mysql Ligne 13
  14. $requete=mysql_query("SELECT COUNT(*) FROM membre WHERE pseudo='".$_POST['pseudo']."' AND pass='".$_POST['pass']."'"); // Ligne 14
  15. $r=mysql_fetch_row($requete); // Ligne 15
  16. if($r[0]==1) // Ligne 16
  17. { // Ligne 17
  18. $_SESSION['login']=$_POST['pseudo']; // Ligne 18
  19. header('location:index_mbr.php'); // Ligne 19
  20. exit; // Ligne 20
  21. } // Ligne 21
  22. } // Ligne 22
  23. } // Ligne 23
  24. else // Ligne 24
  25. { // Ligne 25
  26. echo 'Vous n\etes pas inscrit.'; // Ligne 26
  27. } // Ligne 27
  28. ?> // Ligne 28


Voir plus haut en gras pour les messages d'erreurs
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS