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

PHP & Base de données Discussion :

login après enregistrement


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Par défaut login après enregistrement
    slt
    voila j'ai un probleme avec mon code de Login (code php + formulaire) ci dessous. l'enregistrement se fait normalement des utilisateurs mais pas le login .j'ai ces messages d'erreurs:

    une erreur s'est produite dans le script
    _FILE_ à la ligne _LINE_. : ob_end_clean() [ref.outcontrol]: failed to delete buffer. No buffer to delete.
    une erreur s'est produite dans le script
    _FILE_ à la ligne _LINE_. : Cannot modify header information - headers already sent by


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
    <fieldset>
    Nom d'utilisateur
    <input type="text" name="nom_utilisateur" size="10" maxlength="20" value="<?php if (isset($_POST['nom_utilisateur'])) echo $_POST['nom_utilisateur'];?>"/>
     
    Mot de passe
    <input type="password" name="mot_de_passe" size="20" maxlength="16"/>
     
    <input type="submit" name="submit" value="Login"/>
     
     
    </form>
    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
    if(isset($_POST['submit']))
    {require_once('mysql_connect.php');
    if(empty($_POST['nom_utilisateur']))
    {$u=FALSE;
    echo "<p><font color='red size='+1'>Vous avez oublié d'indiquer votre nom d'utilisateur</font></p>";
    }
    else
    { $u=echappement($_POST['nom_utilisateur']);
    }
    if (empty($_POST['mot_de_passe']))
    {$mp=FALSE;
    echo "<p><font color='red' size='+1'>Vous avez oublié d'indiquer votre mot de passe.</font></p>";
    }
    else
    {$mp=echappement($_POST['mot_de_passe']);
    }
    if($u && $mp)
    { //si tt est ok consulter la BD
    $rq= "SELECT id_utilisateur,prenom FROM utilisateurs WHERE nom_utilisateur='$u' AND mot_de_passe=PASSWORD('$mp')";
    $result =@mysql_query($rq);
    $ligne=mysql_fetch_array($result,MYSQL_NUM);
    if ($ligne)
    {$_SESSION['prenom']=$ligne[1];
    $_SESSION['id_utilisateur']=$ligne[0];
    //ob_end_clean();
    header("Location: index.php");
    //header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/index.php");
    exit();
    }
    else
    {echo "<p><font color='red' size='+1'>le nom d'utilisateur et/ou le mot de passe que vous avez indiqué ne correspondent pas à ceux de notre fichier</font></p>";
    }
    }
    mysql_close();}
    else
    {//en cas d'erreur
    echo"<p><font color='red' size='+1'>Voulez vous réessayer?</font></p>";
    }
    ?>
    quelqu'un peut il me dire comment regler ce probleme?

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    pourquoi appelles-tu ob_end_clean ? tu n'utilises pas la temporisation apparemment, tu cherches juste à détruire un buffer que tu n'utilises pas... Tu peux être plus précis sur ce que tu souhaites faire ?

  3. #3
    Membre éclairé Avatar de arti2004
    Inscrit en
    Février 2004
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 253
    Par défaut
    meme en enlevant :ob_end_clean();
    ça ne marche pas

  4. #4
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par arti2004
    meme en enlevant :ob_end_clean();
    ça ne marche pas
    Apparemment tu essaies d'éviter l'erreur "headers already sent" en utilisant le buffer de sortie (j'essaie de deviner, vu que tu réponds pas...) mais tu fais ça au pifomètre. Donc forcément, non, ça marche pas. Il faut que tu commences par mettre un ob_start(), puis un ob_end_flush() lorsque tu as fini tes affichages "douteux".

    Pour moi, éviter les erreurs de headers de cette manière, c'est pas super propre, mais c'est une opinion personnelle.

Discussions similaires

  1. Réponses: 2
    Dernier message: 17/04/2007, 11h44
  2. Réponses: 2
    Dernier message: 14/04/2006, 08h42
  3. [Windows XP]Login après suppression du domaine
    Par leminipouce dans le forum Windows XP
    Réponses: 1
    Dernier message: 19/01/2006, 10h45
  4. [Excel/Macro] Envoi d'Email après enregistrement
    Par Myogtha dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 30/11/2005, 09h15

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