Tom's Guide > Forum > Programmation > Probleme PHP (session)
Mot :    Pseudo :           
 

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 :

Code :
  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

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

t'as bien créé ton repertoire "sessions" a la racine de ton site?

Répondre à cybertaf

Apparament tu a quelque chose d'envoyé au client avant la fonction session_start() et également header() ;-)

Répondre à SiM07

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 ?

Répondre à docteurdupc

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

Répondre à Yakuma

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.

Répondre à SiM07

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 :

Code :
  1. session_start();



ligne 19 :

Code :
  1. header('location:index_mbr.php');



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

Code :
  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

Répondre à docteurdupc
Tom's Guide > Forum > Programmation > Probleme PHP (session)
Aller à :

Il y a 2283 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens