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 :

[Cookies] Problème avec les cookies


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Par défaut [Cookies] Problème avec les cookies
    Bonsoir,

    J'ai un script de connexion et quand je rentre les identifiants php me retourne l'erreur cette erreur:

    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\chroniques\connexion.php:5) in c:\program files\easyphp1-8\www\chroniques\connexion.php on line 57

    pour mes deux cookies soit les lignes 57 et 58

    les lignes en questions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    setcookie("ID", $row["id_membre"], $expiration, "/");
    setcookie("NOM", $row["login"], $expiration, "/");
    on fichier html:
    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
    <HTML>
    <HEAD>
    <TITLE>Connexion</TITLE>
    <TITLE>Inscription</TITLE>
    </HEAD>
    <BODY>
    <FORM ACTION="connexion.php" METHOD="post">
    <TABLE WIDTH="150">
    <TR><TD ALIGN="center"><H3>Connexion</H3></TD></TR>
    <TR><TD><FONT>Nom d'utilisateur :</FONT></TD></TR>
    <TR><TD><INPUT TYPE="text" NAME="nom" MAXLENGTH="30" /></TD></TR>
    <TR><TD><FONT>Mot de passe :</FONT></TD></TR>
    <TR><TD><INPUT TYPE="password" NAME="pass" MAXLENGTH="20" /></TD></TR>
    <TR><TD><INPUT TYPE="checkbox" NAME="auto" />Connexion automatique à<BR>chaque visite
    <TR><TD ALIGN="center"><INPUT TYPE="submit" NAME="connexion" VALUE="Ouvrir sa session" /></TD></TR>
    </TABLE>
    </BODY>
    </HTML>
    Mon fichier php:
    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
    <?php
    require_once("inc/conf.inc.php");
    ?>
     
    <?php
    if(isset($_COOKIE["ID"]))
    {
         header("Location: index.php");
    }
    else
    {
    	if(isset($_POST["connexion"]))
    		{
    			if(!eregi("^[a-z0-9_]{4,30}$", $_POST["nom"]))
    				{
    					echo "Votre nom d'utilisateur doit comporter entre 4 et 30 caractères<BR />";
    				}
    			elseif(!eregi("^[a-z0-9]{4,20}$", $_POST["pass"]))
    				{
    					echo "Votre mot de passe doit comporter au moins 4 caractères<BR />";
    				}
    			else
    				{
    					$db = mysql_connect($sql_server,$sql_user,$sql_pswd);
    					mysql_select_db($sql_bdd, $db);
     
    					$req = mysql_query("SELECT id_membre, login, md5, activation FROM tbl_membres WHERE login = '".$_POST["nom"]."'");
     
    					if(!$req)
    						{
    							echo "Une erreur est survenue lors de la tentative de connexion";
    						}
    					else 
    						{
    							if(mysql_num_rows($req) == 0)
    								{
    									echo "Le nom d'utilisateur ".$_POST["nom"]." n'existe pas";
    								}
    							else
    								{
    									$row = mysql_fetch_array($req);
     
    									if($row["activation"] == 0)
    										{
    											echo "Votre compte utilisateur n'a pas été activé";
    										}
    									else
    										{
    								            if(md5($_POST["pass"]) != $row["md5"])
    												{
    													echo "Votre mot de passe est incorrect";
    												}
    											else
    												{
    													$expiration = empty($_POST["auto"]) ? 0 : time() + 90 * 24 * 60 * 60;	
     
    													setcookie("ID", $row["id_membre"], $expiration, "/");
    													setcookie("NOM", $row["login"], $expiration, "/");
     
    													mysql_close();
    													echo($_COOKIE["ID"]) ;
    												}								
    										}
    								}		
    						}
    				}		
    		}
    }
    ?>
    Est-ce que quelqu'un pourrait m'aider à règler ce problème?

    Merci.

  2. #2
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    Pour faire un setcookie, il faut le faire avant toute affichage et entête.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Par défaut
    En clair, je dois les créer des le début de mon fichier php?

  4. #4
    Membre chevronné
    Profil pro
    Responsable de service informatique
    Inscrit en
    Septembre 2004
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de service informatique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 352
    Par défaut
    Oui, c'est comme pour session_start().

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2008
    Messages : 37
    Par défaut
    Merci ça fonctionne en mettant le setcookies au début de mon fichier HTML.

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

Discussions similaires

  1. [Cookies] Problème avec les cookies
    Par ishikawa dans le forum Langage
    Réponses: 4
    Dernier message: 18/06/2007, 17h03
  2. Problème avec les cookies d'identification du forum sur mon poste
    Par Flow_75 dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 13/03/2007, 11h57
  3. Réponses: 1
    Dernier message: 24/12/2006, 01h09
  4. Réponses: 9
    Dernier message: 18/05/2006, 15h37
  5. [Cookies] Problème avec les sessions PHP !!!
    Par boukay dans le forum Langage
    Réponses: 4
    Dernier message: 14/02/2006, 18h32

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