Setcookie et header("location:...") Problème??????? [PHP] - Programmation
Marsh Posté le 16-10-2001 à 12:52:35
ben effectivement le setcookie doit être la première instruction avant le flux envoyé sur http (cad dire avant le moindre balise HTML ou la moindre ordre HTTP)
c'est pkoi t'as ce message
[edtdd]--Message édité par m@nou--[/edtdd]
Marsh Posté le 16-10-2001 à 13:58:22
Oui mais en fait le setcookie est envoyer avant même que du code html apparaîssse idem pour header.
Je veux envoyer l'utilisateur sur une autre page http:// une fois que la page démarre et envoyer en^même tps un cookie
voilà mon code:
if($reponseI=='1'{
$id=$valeursI[id];
setcookie("intranet",$id,time()+3600);
header ("location: http://www.xxx.fr" );
}
else{
print("<font color=\"red\"><b>VOUS N'AVEZ PAS ETE RECONNU REESSAYEZ OU CONTACTER VOTRE ADMINISTRATEUR</b></font>" );
}
Marsh Posté le 16-10-2001 à 14:17:44
essaye de mettre ton cookie avec
header("Set-Cookie: nomvar=valeur; path=/; expires=$expireDate" );
avec $expireDate qui ressemble à
$expireDate = gmdate("D, d-M-Y H:i:s", time()+ duréeensecondes) . " GMT";
Marsh Posté le 16-10-2001 à 14:18:17
il faut que tu n'aies rien avant ton code, meme pas un espace
_______________________________________________ debut du fichier
<?
if($reponseI=='1'{
$id=$valeursI[id];
setcookie("intranet",$id,time()+3600);
header ("location: http://www.xxx.fr" );
}
else{
print("<font color=\"red\"><b>VOUS N'AVEZ PAS ETE RECONNU REESSAYEZ OU CONTACTER VOTRE ADMINISTRATEUR</b></font>" );
}
?>
Marsh Posté le 16-10-2001 à 15:00:02
tu veux dire même pas un espace à l'interieur du code php
ou koi
Marsh Posté le 16-10-2001 à 15:03:54
nono, pas d'espace avant le <?
si c'est pas ca, ben je sais pas. Sorry
[edtdd]--Message édité par art_dupond--[/edtdd]
Marsh Posté le 16-10-2001 à 15:05:25
oui c bien ce ke j'ai fait.voila le mess d'erreur:
Warning: Oops, php3_SetCookie called after header has been sent in your script on line 11
Warning: Cannot add more header information - the header was already sent (header information may be added only before any output is generated from the script - check for text or whitespace outside PHP tags, or calls to functions that output text) in your script on line 12
Marsh Posté le 16-10-2001 à 15:06:45
en fait le setcookie est en ligne 11 et le header("location:www.rien.com" ); est en ligne 12
j'y comprend plus rien
Marsh Posté le 16-10-2001 à 15:09:00
yep, c'est bizarre.
Tu peux mettre le début de ton script. On sait jamais...
Marsh Posté le 16-10-2001 à 15:11:11
oui est-ce que ça peut venir du fait que j'appelle une fonction au tout début. regarde:
include("fonction.inc.php3" );
connect_mlchalonnais();
if ($action=="intranet" ){
$requeteI="SELECT * FROM personnelML WHERE nom='$login' AND code=password('$code'";
$resultatI=mysql_query($requeteI);
$reponseI=mysql_num_rows($resultatI);
$valeursI=mysql_fetch_array($resultatI);
if($reponseI=='1'{
$id=$valeursI[id];
setcookie("intranet",$id,time()+3600);
header("location: http://scabs.forez.com" );
Marsh Posté le 16-10-2001 à 15:13:02
Ben pit-être que ca vient de là.
Si t'envoies quelque chose dedans, ben c'est pas bong
Marsh Posté le 16-10-2001 à 15:15:19
mon fichier fonction.inc.php3 me permet de décrire une fonction pour se connecter au serveur de base de donnés.
je vais essayer de voir si manuellement (efin en mettant tout)ça marche ou pas
mais sur un autre script j'ai déjà utilisé cette méthode et ça marchait.c bizarre
Marsh Posté le 16-10-2001 à 15:16:14
envoie toujours ton 'fonction.inc.php3' pour voir
ps : n'oublie pas de masquer le pass et tout et tout
[edtdd]--Message édité par art_dupond--[/edtdd]
Marsh Posté le 16-10-2001 à 15:21:03
c bizarre
Caaa marche qd je met mysql_pconnect($host,$user,$password)
et mysql_select_db à la place de include (fonction.inc.php3);
le pb vient de ce fichier
Marsh Posté le 16-10-2001 à 15:22:11
ben a mon avis, c'est que tu dois avoir mis des espaces avant ou après les <? et ?>...
Marsh Posté le 16-10-2001 à 16:15:54
voilà ce qu'il y a ds fonction.inc.php3
<?
function connect_mlchalonnais(){
$host ="localhost";
$base ="user";
$user ="user";
$password ="password";
mysql_pconnect($host,$user,$password);
mysql_select_db($base);
}
?>
Marsh Posté le 16-10-2001 à 16:21:22
ben s'il n'y a pas d'espace avant le <?
ni après le ?> ben je vois pas.
Marsh Posté le 16-10-2001 à 08:50:08
J'ai un pti problème car à chaque fois que mon script php essai d'envoyer des en-têtes header et un setcookie, le serveur me dit que les en-tête header ont déjà été envoyées et donc qu'il n'est pas possible de l'envoyer.
J'ai peur kes kis pass