You can use the output buffering functions to delay the script output until you have decided whether or not to set any cookies or send any headers.
Les cookies font partie des en-têtes HTTP, ce qui impose que setcookie() soit appelée avant tout affichage de texte.