par
Ryle » 02 nov. 2006, 11:13
Le code d'ouverture d'une session, tout comme l'envoi d'un header, nécessite d'être placé au sommet de ta page.
Juste une petite précision, ce n'est pas une "nécessité" de le placer au sommet, mais c'est quand même plus simple. Il suffit simplement de l'avoir placé avant de faire appel à $_SESSION et/ou d'avoir commencé à envoyer du code au navigateur (sous quel que forme que ce soit : comme avec les header)
Le message d'erreur est clair à ce sujet : "headers already sent" > le flux html a déjà été envoyé.
Et pour en revenir à mon histoire, rien n'empêche donc d'avoir un code php de 100 lignes sans flux html (ni echo, ni print, ni retour à la ligne en dehors des balises php, etc.) qui se terminerait par le session_start() suivi de html ou d'un header() :
<?php
// ... 97 lignes de codes php
session_start();
$_SESSION['var'] = $resultatDuCode;
header("Location: page.php");
?>
C'était la minute culturelle (?) de Ryle 
[quote="albat"]Le code d'ouverture d'une session, tout comme l'envoi d'un header, nécessite d'être placé au sommet de ta page.[/quote]
Juste une petite précision, ce n'est pas une "nécessité" de le placer au sommet, mais c'est quand même plus simple. Il suffit simplement de l'avoir placé avant de faire appel à $_SESSION et/ou d'avoir commencé à envoyer du code au navigateur (sous quel que forme que ce soit : comme avec les header)
Le message d'erreur est clair à ce sujet : "headers already sent" > le flux html a déjà été envoyé.
Et pour en revenir à mon histoire, rien n'empêche donc d'avoir un code php de 100 lignes sans flux html (ni echo, ni print, ni retour à la ligne en dehors des balises php, etc.) qui se terminerait par le session_start() suivi de html ou d'un header() :
[php]<?php
// ... 97 lignes de codes php
session_start();
$_SESSION['var'] = $resultatDuCode;
header("Location: page.php");
?>[/php]
[size=59]C'était la minute culturelle (?) de Ryle ;)[/size]