[cookie]help

help [cookie] - PHP - Programmation

Marsh Posté le 02-10-2003 à 18:43:16    

voila je debute en php et jai un probleme avec les cookies  :cry:  
 
voila ma page  

Citation :


<?
include('config.php');
$db = mysql_connect($mysql_host,$mysql_user,$mysql_password) or die ("erreur de connexion" );
mysql_select_db($mysql_base,$db) or die ("erreur de connexion base" ); //connection a la base de donné
 
$sql= mysql_query("SELECT * FROM sl_user WHERE pseudo='$user' and pass='$pwd'" ) or die ("connection mysql impossible" );
 
$num=mysql_num_rows($sql); //on veriffi si luser et le pass sont bon
if(!$num)
 {  
    echo "<center>Veuillez vérifier vos données</center>";  // message derreur    
}  
else  // sinon on valide
{
session_register("user" );
 /// cookie a inserer ici ///////////////////////////////////
 
$sess_nom = session_name();  
$sess_id = session_id();  
echo "<center>$user vous ete maintenat loger !</center>";  
}
///redirection
?>
<meta http-equiv="refresh" content="10; URL=/index.php">


 
voila g deja essayer avec  

Citation :

setcookie("unsername","$user",time()+365 * 24 * 3600 , "/" );


mais sa maffiche

Citation :

Warning: Cannot add header information - headers already sent by (output started at d:\prog\easyphp\www\index.php:16) in d:\prog\easyphp\www\espace membre.php on line 16
 
 
lpa vous ete maintenat loger !


a savoir que la page saffiche dans une pseudo frame !
que faire  :??:

Reply

Marsh Posté le 02-10-2003 à 18:43:16   

Reply

Marsh Posté le 02-10-2003 à 18:48:31    

ben c'est super simple: tu dois balancer ton cookie (qui doit faire partie du header) avant ton premier bout de code HTML. Donc tu dois faire ton setcookie avant la ligne 16 ;)


Message édité par drasche le 02-10-2003 à 18:48:51
Reply

Marsh Posté le 02-10-2003 à 18:52:01    

en fait dans ce cas-ci, tu devrais juste inverser ton test ($num) et donc les blocs de réponse possibles, et ça devrait être ok.
 
Ah au fait, il manque 2 bloc importants dans ton message: <head> (pour y taper un titre et ton tag <meta> ) ainsi que <body> (pour tout le reste).

Reply

Marsh Posté le 02-10-2003 à 18:52:07    

la ligne 16 c la commande dappelle du cookie lol

Reply

Marsh Posté le 02-10-2003 à 18:53:56    

ah crotte je me fais avoir comme un débutant :o
 
bon en fait PHP a vu une sortie HTML avant ton setcookie et il n'a pas aimé :o (même s'il est dans un else, je sais c'est con)
 
tu dois donc toujours placer tes setcookie avant toute sortie HTML.


Message édité par drasche le 02-10-2003 à 18:54:20
Reply

Marsh Posté le 02-10-2003 à 18:57:22    

c koi que tu appelle une sortie html ??

Reply

Marsh Posté le 02-10-2003 à 19:03:15    

ben c'est quand tu génères du HTML, genre la commande echo dans ta page, ou encore quand tu poses la balise ?> pour mettre du pur HTML dans ton code (genre à la dernière ligne de ton source).

Reply

Marsh Posté le 02-10-2003 à 19:06:44    

mé eu c pas juste jui obligé davoir du html avant c dasn un pseudo frame

Reply

Marsh Posté le 02-10-2003 à 19:11:27    

ben tu dois revoir la logique de ton code dans ce cas [:spamafote]

Reply

Marsh Posté le 02-10-2003 à 23:15:08    

i font comment sur les autre site ils ont bien du html avant da mettre leur cookies ???

Reply

Marsh Posté le 02-10-2003 à 23:15:08   

Reply

Marsh Posté le 02-10-2003 à 23:38:11    

ben non justement, techniquement le cookie fait partie du header de ta page web. Donc en tête. Donc tu dois balancer ton cookie avant ta page web.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed