IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction start_session() affichage erreur


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut Fonction start_session() affichage erreur
    J'ai u probleme avec ma fonction voila mon code d'authentification :
    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
    <?php
    session_start();
     
    $connexion = mysql_pconnect("***.sql.free.fr","***","***");
    mysql_select_db("***", $connexion);
    $pseudo="'".mysql_escape_string($_REQUEST['pseudo'])."'"; 
    $mdp=mysql_escape_string($_REQUEST['mdp']); 
     
    $resultat=mysql_query("SELECT * FROM formulaire WHERE login=$pseudo",$connexion);
     
     
    if ($resultat) {
      $users=mysql_fetch_array($resultat);
      if ($users["pwd"] == $mdp)
        {
        $_SESSION["valid_user"]==1;
        header('Location: index1.php');
        }
      else {
      header('Location: authentification.html');
      }
    }
    else {
      header('Location: authentification.html');
    }
    ?>
    Voila ma page de connexion :
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <head>
        <title>Connexion au site</title>
        <link href="connexion.css" rel="stylesheet">
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    </head>
    <body>
    <div id="corps">
    <div class="titre"><p>Entrez votre login et votre mot de passe : </p></div>
    <form action="authentification.php" method="post" enctype="multipart/form-data">
    <div><label>Login : </label><input type="text" name="pseudo" maxlength="20"/></div>
    <div><label>Mot de passe : </label><input type="password" name="mdp"  /></div><br />
    <p><a href="formulaire-inscription.html">S'inscrire</a></p>
    <div><input type="submit" value="Entrer" /><input type="reset" value="Réinitialiser" /></div>
    </form>
    </div>
    <div id="pied">
    <p>Nous sommes le <?php echo date("d/m/Y"); ?>
    </body>
    </html>
    Et voila mon index1 :
    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
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <?php
    session_start();
    if($_SESSION["valid_user"]==1){
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
     
    <head>
      <title>Le rugby</title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <link title="Le rugby" href="index1.css" rel="stylesheet" type="text/css" />
    </head> 
    <body>
    <form enctype="multipart/form-data" action="recherche.php" method="post">    
      <div id="en_tete"></div>
      <div id="menu">
        <div class="sous_menu">
          <h3>La coupe du monde</h3>
          <ul>
            <li><a href="Les poules.php">Les poules</a></li>
            <li><a href="Les tableaux finaux.php">Les tableaux finaux</a></li>
            <li><a href="L'histoire.html">Histoire de la coupe du monde</a></li>
     
          </ul> 
        </div>
     
        <div class="sous_menu">
          <h3>Le top 14</h3>
          <ul>
            <li><a href="Top14.html">Tout sur le Top 14</a></li>
     
          </ul> 
        </div>
     
        <div class="sous_menu">
          <h3>Quelques liens utiles</h3>
         <ul>
            <li><a href="http://www.ffr.fr/index.php/ffr/accueil__1" onclick="window.open(this.href); return false;">Fédération francaise de rugby</a></li>
            <li><a href="http://fr.rugbyworldcup.com/" onclick="window.open(this.href); return false;">Site de l'IRB</a></li>
          </ul> 
        </div>
     
        </div>
      </div>
      <div id="corps">
        <h2>Bienvenue sur mon site</h2>
        <p>Bonjour! Mon nom est Kevin et je suis passionné de rugby depuis que je suis tout petit.</p>
        <p>Si vous vous interessez au rugby, vous trouverez sur mon site une foule d'informations
        utiles. Le site est organisé en trois catégories : <div class="presentation"><ol><li>La coupe du monde</li><li>
        Le top 14</li><li>Des liens utiles</li></ol></div></p>
        <p>Ce site ludique a été créé dans le cadre de mon option web.</p>
      </div>
      <div class="recherche">
      <h2 id="recherche">Recherche de joueur</h2>
      <div>
        <label for="recherche"></label> <input name="recherche" type="text" onClick= "javascript:this.value=''" value="Tapez le nom d'un joueur." />*****
        </div>
      <div>
        <input type="submit" value="Rechercher" />
      </div>
      <div class="joueur">
        <input type="radio" name="format" value="nom" id="nom" checked="checked"/> <label for="nom">Nom du joueur</label>
        <input type="radio" name="format" value="prenom" id="prenom"/> <label for="prenom">Tous les joueurs ayant ce prénom</label>
      </div>
      </div>
     
     
     
      <div id="pied_de_la_page">
        <p>Code et design par Kevin.2007. <br />
        N'hésitez pas a <a href="mailto:X@Y.Z">me contacter</a> si vous voulez discuter du rugby!</p>
      </div>
    </form>
    </body>
    </html>
    <?php }
    else 
    {
    header ("Location: connexion.php");
    }
    ?>
    Voila le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Warning: session_start() [function.session-start]: open(/mnt/163/sdb/1/a/kplanchon/sessions/sess_016eaebf8e940d9eac7337939a414172, O_RDWR) failed: No such file or directory (2) in /mnt/163/sdb/1/a/kplanchon/index1.php on line 2
     
    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /mnt/163/sdb/1/a/kplanchon/index1.php:2) in /mnt/163/sdb/1/a/kplanchon/index1.php on line 2
     
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/163/sdb/1/a/kplanchon/index1.php:2) in /mnt/163/sdb/1/a/kplanchon/index1.php on line 2
     
    Warning: Cannot modify header information - headers already sent by (output started at /mnt/163/sdb/1/a/kplanchon/index1.php:2) in /mnt/163/sdb/1/a/kplanchon/index1.php on line 80
     
    Warning: Unknown(): open(/mnt/163/sdb/1/a/kplanchon/sessions/sess_016eaebf8e940d9eac7337939a414172, 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/163/sdb/1/a/kplanchon/sessions) in Unknown on line 0
    Je ne comprends pas car si je met tout ça avec l base de données de mon prof et donc son adresse cela marche...

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Hello,

    Warning: session_start() [function.session-start]: open(/mnt/163/sdb/1/a/kplanchon/sessions/sess_016eaebf8e940d9eac7337939a414172, O_RDWR) failed: No such file or directory (2) in /mnt/163/sdb/1/a/kplanchon/index1.php on line 2

    Warning: Unknown(): Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/mnt/163/sdb/1/a/kplanchon/sessions) in Unknown on line 0
    Regarde la citation ci dessus, il ne trouve pas le répertoire sessions ou n'arrive pas à enregistrer les fichiers de session.

    Est tu chez free ??? alors le problème est connu : tu dois créer un dossier sessions (avec le 'S') à la racine de ton site.

    Sinon (pas chez free) regarde dans ton php.ini à quoi correspond l'élément dans le second Warning ci dessus : soit le session.save_path et si ce chemin existe...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut
    Oui je suis chez free mais je ne comprends pas quoi faire?? A si c'est bon merci cela fonctionne...

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut
    Il reste cependant un probleme il ne veut pas afficher ma page index apres ma connexion...

  5. #5
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Il y a une erreur dans ta page d'authentification, tu n'attribut pas de valeur à ta variable $_SESSION["valid_user"] :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if ($users["pwd"] == $mdp)
        {
        $_SESSION["valid_user"]==1;
        header('Location: index1.php');
        }
    il faut mettre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        $_SESSION["valid_user"] = 1;
    == signifie 'est egal à' ; = est l'opérateur d'affectation (attribue une valeur)...

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut
    Ba non justement il faut laisser == sinon lorsque je clique sur Valider sans avoir mis de login et de pwd il va qand meme sur ma page index1 or il ne peut y acceder que s'il est connecté. Donc je ne vois pas l'erreur!!

  7. #7
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Citation Envoyé par kev484 Voir le message
    Ba non justement il faut laisser == sinon lorsque je clique sur Valider sans avoir mis de login et de pwd il va qand meme sur ma page index1 or il ne peut y acceder que s'il est connecté. Donc je ne vois pas l'erreur!!
    Je ne comprends pas !

    Je te traduis ton code : "si $users["pwd"] est égal à $mdp alors $_SESSION["valid_user"] est égal à 1 et on renvoi par le header à index1.php

    Ton $_SESSION["valid_user"]==1; ne sers à rien, enfin je ne vois pas à quoi.

    Et alors où est ce que tu attribut la valeur 1 à ton $_SESSION["valid_user"] ? C'est ce que je pensais que tu voulais faire par le code ci dessus.

    Ici vu que tu met == ton $_SESSION["valid_user"] n'a pas de valeur et dans ta page index1 le script part dans le else qui te renvoi à connexion.php.

    Comprends tu ce que je veux dire ?

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 302
    Points : 141
    Points
    141
    Par défaut
    Oui j'ai tout compris et maintenant tout marche voila mon code final :
    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
    <?php
    session_start();
     
    $connexion = mysql_pconnect("sql.free.fr","***","***");
    mysql_select_db("***", $connexion);
    $pseudo="'".mysql_escape_string($_REQUEST['pseudo'])."'"; 
    $mdp=mysql_escape_string($_REQUEST['mdp']); 
     
    $resultat=mysql_query("SELECT * FROM formulaire WHERE login=$pseudo",$connexion); 
    echo mysql_error();
    if (empty($pseudo) || empty($mdp)){
      header('Location: authentification.html');
    }
    else{
    if ($resultat) {
      $users=mysql_fetch_array($resultat);
      if ($users["pwd"] == $mdp)
        {
        $_SESSION["valid_user"]=1;
        header('Location: index1.php');
        }
      else {
      header('Location: authentification.html');
      }
    }
    else {
      header('Location: authentification.html');
    }
    }
     
    ?>
    Merci beaucoup de l'aide.

  9. #9
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    J'y ai réfléchi (sous la douche ) et c'est ce que j'allais te proposer

    Je rajouterais juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if (!empty($resultat)) {
    ...
    juste pour vérifier que $resultat n'est pas vide...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Service affichage erreur
    Par yosthegost dans le forum Delphi
    Réponses: 5
    Dernier message: 15/05/2006, 15h11
  2. Fonction qui renvoie erreur dans mon état
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 20/10/2005, 12h40
  3. fonction LAG et erreur PLS-00103. Oracle 8i
    Par henrirobert dans le forum Oracle
    Réponses: 7
    Dernier message: 26/05/2005, 16h03
  4. une fonction d'affichage à rajouter
    Par isidore dans le forum C++
    Réponses: 17
    Dernier message: 27/02/2005, 17h03
  5. Fonction d'affichage
    Par Mynautor dans le forum OpenGL
    Réponses: 2
    Dernier message: 31/05/2004, 11h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo