Cookie

Aurélien
Invité n'ayant pas de compte PHPfrance

31 juil. 2005, 12:07

Bonjour je viens vers vous car j'ai un petit pb avec setcookie().
voici le bout de script:
<?
include ("include.php");
include ("fonction.php");


$loginOK = false;

// On n'effectue les traitement qu'à la condition que 
// les informations aient été effectivement postées

mysql_connect($hote,$login,$pass) or die("Impossible de se connecter à la base de données");
mysql_select_db("$bd") or die("Impossible de se connecter à la base de données");



if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['mdp'])) ) {
	

  	$login = $_POST['login'];
	$mdp = $_POST['mdp'];
	$mdp = algo_mdp ($mdp);
	


  // On va chercher le mot de passe afférent à ce login

  $query = "SELECT * FROM $table7 WHERE identifiant ='".$login."'";
  $resultat= mysql_query ($query) or die('Erreur SQL:'. $query);
  $data = mysql_fetch_array($resultat);

    
    // On vérifie que son mot de passe est correct
    if ($mdp == $data['mdp']) {
      $loginOK = true;
    }

}

// Si le login a été validé on met les données en cookie

if ($loginOK) {
$pseudo = $data['pseudo'];
$droit = $data['droit'];
echo "$pseudo et $droit"; // contrôle visuel variable



setcookie("pseudo", $pseudo, time(), "/", ".localhost", 1);
setcookie("droit", $droit, time(), "/", ".localhost", 1);



?>

<script type="text/javascript"> 

	document.location.replace("http://localhost/index.php");
</script> 

<?
}
else {
  echo 'Une erreur est survenue, veuillez réessayer !'; 
}
?>
Le formulaire fonctionnait correctement, jusqu'à l'insertion de setcookie...
Lorsque je bloque la redirection, voilà ce que j'ai:

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\includes\include.php:21) in c:\program files\easyphp1-8\www\includes\verif_login.php on line 45

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\includes\include.php:21) in c:\program files\easyphp1-8\www\includes\verif_login.php on line 46

Je ne comprend pas à quoi cela peut-être du. Les deux fichiers Include commencent et finissent par <? et ?>...

Merci pour votre aide.

Mammouth du PHP | 19672 Messages

31 juil. 2005, 12:11

Inverse les lignes: envoies les cookies avant tout autre affichage:
<?php
// .....
    setcookie("pseudo", $pseudo, time(), "/", ".localhost", 1);
    setcookie("droit", $droit, time(), "/", ".localhost", 1);
    echo($pseudo ." et ". $droit); // contrôle visuel variable
// .....
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

aurélien
Invité n'ayant pas de compte PHPfrance

31 juil. 2005, 20:14

Ok merci

Mammouth du PHP | 19672 Messages

31 juil. 2005, 20:17

[Résolu] :?:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

aurélien
Invité n'ayant pas de compte PHPfrance

02 août 2005, 22:49

Oui, merci