help cookies :-(

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : help cookies :-(

par chrislabricole » 16 sept. 2008, 22:45

Il y a quelque temps, il m'est arrivé la même chose, si t'es sur qu'il n'y ai pas de caractère quelconque (code, espace, tabulation, etc...) alors, ça vient de la signature BOM

Avec quel éditeur tu créer tes pages ?
Sinon en cas, dans ton éditeur, tu fais "F1", puis tu tapes "BOM" tu devrai avoir la solution pour désactiver cette signature... ;)

par cedouf » 16 sept. 2008, 19:10

voila le tout début de mon index.php
je comprend puuuuuu
snif :?

<? 
if( isset($parrain) && !empty($parrain) )
{ 
setcookie('parrain', $parrain, (time()+60*60*24*100000)); 
// pas de @ avant la fonction sinon tu vois pas ton erreur, puis un htmlentities pour protéger... 
}
//$parrain="defaut";
?>
<? include("tete.php"); ?>
erreur : Warning: Cannot modify header information - headers already sent by (output started at /home.10.23/livres/index.php:1) in /home.10.23/livres/index.php on line 4

par chrislabricole » 16 sept. 2008, 18:41

Ah ok !
C'est tous simplement parce-que la fonction header() ne peut pas être faite après qu'il y a un caractère avant la balise <?php....

Regarde ça ;)

par cedouf » 16 sept. 2008, 17:41

coucou, merci pour ton aide, mais ca fonctionne toujours pas .....

lorsque j'appelle l'url : site.com/index.php?parrain=test
le echo de la valeur affiche : $parrain
je suis chez ovh et si je ne met pas @
il affiche systématiquement une erreur sur l'appel setcookie :
Warning: Cannot modify header information - headers already sent by (output started at /home.10.23/livres/index.php:1) in /home.10.23/livres/index.php on line 4

par chrislabricole » 15 sept. 2008, 19:21

fait une condition pour savoir si $_GET['parrain'] existe, si oui, tu envoi le cookie, si non, tu envoi rien... puis après tu test si le cookie existe, si oui, tu mets ça valeur, si non, bah tu mets rien :)

ça donne un truc comme ça :
if( isset($_GET['parrain']) && !empty($_GET['parrain']) ){
setcookie('parrain', htmlentities($_GET['parrain']), (time()+60*60*24*100000)); // pas de @ avant la fonction sinon tu vois pas ton erreur, puis un htmlentities pour protéger...
}
et puis après :
if( isset($_COOKIE['parrain']) ){
$parrain = $_COOKIE['parrain'];
} else {
$parrain = 'defaut';
}
Ça devrait marcher :)

help cookies :-(

par cedouf » 15 sept. 2008, 18:13

bonjour a tous,

voila j'ai honte :(
je bloque sur un petit probleme .....

je veux faire un cookie qui installe un valeur donnée par l'url appelé
exemple : www.site.com/index.php?parrain=test
voila l'insertion de mon cookie :

Code : Tout sélectionner

@setcookie('parrain', $_GET['parrain'], (time()+60*60*24*100000));
je veux une valeur par défaut si aucun cookie

Code : Tout sélectionner

if (empty($_GET['parrain'])) $parrain = 'defaut'; else $parrain = $_COOKIE['parrain'];
sinon la valeur parrain de l'url passe ...

et la sur ce code je bloque....

merci d'avance a tous pour votre aide ....