Probleme dans un script PHP - PHP - Programmation
Marsh Posté le 11-04-2002 à 11:18:37
trop long a lire..
mais logiquement c'est que tu veut envoyer des header (session, cookie....) après avoir fait un echo ou print.
Marsh Posté le 11-04-2002 à 11:30:54
ta session ou ton cookie est la première chose à renvoyer. Vérifies qu'il n'y a pas un echo avant ton header et qu'il n'y a pas d'espace vide avant ta balise <? ouvrante.
A+
dropsy
Marsh Posté le 11-04-2002 à 12:05:34
Merci j'ai trouver le probleme enfin j'ai resoulue apres le pkoi exacte je suis pas sur mais je pense que c le refresh auto de la page qui me fait ca ! non ?
Marsh Posté le 11-04-2002 à 16:36:14
desoler alors ca marche mieux on vas dire : quand j'ai pas l'erreure tt s'affiche corectement et je peut me loguer deloguer sans prob par contre par moment j'ai l'erreure qui apparait (sans avoir fait de modif sur aucun des fichier). Et la impossible de ce logguer ou de ce deloguer tous le script ne marche plus !
Marsh Posté le 11-04-2002 à 11:10:51
voici le message d'erreure que j'obtiens :
Warning: Cannot add header information - headers already sent by (output started at /usr/local/httpd/xlm/index.html:12) in /usr/local/httpd/xlm/phpBB/includes/sessions.php on line 186
Warning: Cannot add header information - headers already sent by (output started at /usr/local/httpd/xlm/index.html:12) in /usr/local/httpd/xlm/phpBB/includes/sessions.php on line 187
le script est le suivant (ligne 142 à 195) :
//
// Create or update the session
//
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
WHERE session_id = '" . $session_id . "'
AND session_ip = '$user_ip'";
if ( !($result = $db->sql_query($sql)) || !$db->sql_affectedrows() )
{
$session_id = md5(uniqid($user_ip));
$sql = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";
if ( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, 'Error creating new session : session_begin', '', __LINE__, __FILE__, $sql);
}
}
if ( $user_id != ANONYMOUS )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
WHERE user_id = $user_id";
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error updating last visit time : session_begin', '', __LINE__, __FILE__, $sql);
}
$userdata['user_lastvisit'] = $last_visit;
$sessiondata['autologinid'] = ( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '';
$sessiondata['userid'] = $user_id;
}
$userdata['session_id'] = $session_id;
$userdata['session_ip'] = $user_ip;
$userdata['session_user_id'] = $user_id;
$userdata['session_logged_in'] = $login;
$userdata['session_page'] = $page_id;
$userdata['session_start'] = $current_time;
$userdata['session_time'] = $current_time;
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
// header('Set-cookie: ' . $cookiename . '_data=' . urlencode(serialize($sessiondata)) . '; expires=' . gmdate("l, d-M-Y H:i:s", $current_time + 31536000) . ' GMT; domain=' . $cookiedomain . '; path=' . $cookiepath . $cookiesecure);
// header('Set-cookie: ' . $cookiename . '_sid=' . $session_id . '; domain=' . $cookiedomain . '; path=' . $cookiepath . $cookiesecure);
$SID = ( $sessionmethod == SESSION_METHOD_GET ) ? 'sid=' . $session_id : '';
return $userdata;
}
---------------
IronmanLM pour vous servir !