Problème de d'envoie sur une page

Attila54800 Messages postés 7 Statut Membre -  
medoc13 Messages postés 65 Statut Membre -
Bonjour,

J'ai un léger soucis avec mon site de jeux.

En effet j'ai ce message d'erreur :

Warning: Cannot modify header information - headers already sent by (output started at /home/s/p/a/spacewargame/www/spacewargame/includes/constants.php:1) in /home/s/p/a/spacewargame/www/spacewargame/login.php on line 36

Warning: Cannot modify header information - headers already sent by (output started at /home/s/p/a/spacewargame/www/spacewargame/includes/constants.php:1) in /home/s/p/a/spacewargame/www/spacewargame/login.php on line 39


Est-ce que vous pourriez m'aiguillez sur la démarche à suivre pour résoudre ce prooblème ?

Merci d'avance.
A voir également:

13 réponses

mjmdurand Messages postés 246 Date d'inscription   Statut Membre Dernière intervention   44
 
la fonction header en php, tu l'a bien mise au debut du fichier, avant les <DOCTYPE ect...ect...ect...

?
0
Attila54800 Messages postés 7 Statut Membre
 
Ben la fonction se trouve ici, parce qu'elle doit être ici normalement ^^. Les deux lignes en gras posent problème apparament.

if ($login['password'] == md5($_POST['password'])) {
if (isset($_POST["rememberme"])) {
$expiretime = time() + 31536000;
$rememberme = 1;
} else {
$expiretime = 0;
$rememberme = 0;
}

@include('config.php');
$cookie = $login["id"] . "/%/" . $login["username"] . "/%/" . md5($login["password"] . "--" . $dbsettings["secretword"]) . "/%/" . $rememberme;
setcookie($game_config['COOKIE_NAME'], $cookie, $expiretime, "/", "", 0);

unset($dbsettings);
header("Location: ./frames.php");
exit;
0
medoc13 Messages postés 65 Statut Membre 21
 
if ($login['password'] == md5($_POST['password'])) {
if (isset($_POST["rememberme"])) {
$expiretime = time() + 31536000;
$rememberme = 1;
} else {
$expiretime = 0;
$rememberme = 0;
}
@include('config.php');
$cookie = $login["id"] . "/%/" . $login["username"] . "/%/" . md5($login["password"] . "--" . $dbsettings["secretword"]) . "/%/" . $rememberme;
setcookie($game_config['COOKIE_NAME'], $cookie, $expiretime, "/", "", 0);
unset($dbsettings);
header("Location: ./frames.php");
exit;

quand tu utilise un header il ne faut aucune sortie affichage, et pas d'espace entre les lignes
0
Attila54800 Messages postés 7 Statut Membre
 
J'ai supprimé les espaces mais j'ai toujours le même problème. :'(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
medoc13 Messages postés 65 Statut Membre 21
 
peux tu mettre la page entiere
0
Attila54800 Messages postés 7 Statut Membre
 
<?php


define('INSIDE'  , true);
define('INSTALL' , false);

$InLogin = true;

$ugamela_root_path = './';
include($ugamela_root_path . 'extension.inc');
include($ugamela_root_path . 'common.' . $phpEx);

	includeLang('login');

	if ($_POST) {
		$login = doquery("SELECT * FROM {{table}} WHERE `username` = '" . mysql_escape_string($_POST['username']) . "' LIMIT 1", "users", true);

		if ($login) {
			if ($login['password'] == md5($_POST['password'])) {
				if (isset($_POST["rememberme"])) {
					$expiretime = time() + 31536000;
					$rememberme = 1;
				} else {
					$expiretime = 0;
					$rememberme = 0;
				}
				@include('config.php');
				$cookie = $login["id"] . "/%/" . $login["username"] . "/%/" . md5($login["password"] . "--" . $dbsettings["secretword"]) . "/%/" . $rememberme;
				setcookie($game_config['COOKIE_NAME'], $cookie, $expiretime, "/", "", 0);
				unset($dbsettings);
				header("Location: ./frames.php");
				exit;
			} else {
				message($lang['Login_FailPassword'], $lang['Login_Error']);
			}
		} else {
			message($lang['Login_FailUser'], $lang['Login_Error']);
		}
	} else {
		$parse = $lang;
		$query = doquery('SELECT username FROM {{table}} ORDER BY register_time DESC', 'users', true);
		$parse['last_user'] = $query['username'];
		$query = doquery("SELECT COUNT(DISTINCT(id)) FROM {{table}} WHERE onlinetime>" . (time()-900), 'users', true);
		$parse['online_users'] = $query[0];
		$parse['users_amount'] = $game_config['users_amount'];
		$parse['servername'] = $game_config['game_name'];
		$parse['forum_url'] = $game_config['forum_url'];
		$parse['PasswordLost'] = $lang['PasswordLost'];

		$page = parsetemplate(gettemplate('login_body'), $parse);
		display($page, $lang['Login']);
	}

// -----------------------------------------------------------------------------------------------------------
// History version

?>


Voilà le fichier login.php qui me pose problème aux llignes 35 et 37
0
medoc13 Messages postés 65 Statut Membre 21
 
comme je te l'ai dit pas d'espace, pas d'echo, pas de html...
//enleve tous les espace entre les ligne
//l<?php doit etre sur la premiere ligne de ta page pas d'espace avant
//bon la j'ai enleve tous les espace, mais tu peux les remplace par un commentaire // ou /* */
<?php
define('INSIDE' , true);
define('INSTALL' , false);
$InLogin = true;
$ugamela_root_path = './';
include($ugamela_root_path . 'extension.inc');
include($ugamela_root_path . 'common.' . $phpEx);
includeLang('login');
if ($_POST) {
$login = doquery("SELECT * FROM {{table}} WHERE `username` = '" . mysql_escape_string($_POST['username']) . "' LIMIT 1", "users", true);
if ($login) {
if ($login['password'] == md5($_POST['password'])) {
if (isset($_POST["rememberme"])) {
$expiretime = time() + 31536000;
$rememberme = 1;
} else {
$expiretime = 0;
$rememberme = 0;
}
@include('config.php');
$cookie = $login["id"] . "/%/" . $login["username"] . "/%/" . md5($login["password"] . "--" . $dbsettings["secretword"]) . "/%/" . $rememberme;
setcookie($game_config['COOKIE_NAME'], $cookie, $expiretime, "/", "", 0);
unset($dbsettings);
header("Location: ./frames.php");
exit;
} else {
message($lang['Login_FailPassword'], $lang['Login_Error']);
}
} else {
message($lang['Login_FailUser'], $lang['Login_Error']);
}
} else {
$parse = $lang;
$query = doquery('SELECT username FROM {{table}} ORDER BY register_time DESC', 'users', true);
$parse['last_user'] = $query['username'];
$query = doquery("SELECT COUNT(DISTINCT(id)) FROM {{table}} WHERE onlinetime>" . (time()-900), 'users', true);
$parse['online_users'] = $query[0];
$parse['users_amount'] = $game_config['users_amount'];
$parse['servername'] = $game_config['game_name'];
$parse['forum_url'] = $game_config['forum_url'];
$parse['PasswordLost'] = $lang['PasswordLost'];

$page = parsetemplate(gettemplate('login_body'), $parse);
display($page, $lang['Login']);
}
// -----------------------------------------------------------------------------------------------------------
// History version
?>
0
Attila54800 Messages postés 7 Statut Membre
 
Bon j'ai essayer avec la version sans les espaces, mais ca ne change rien , j'ai toujours le meme problème sauf que le numéro de ligne a changé (normal puisqu'on a enlevé les espaces).

Donc apparament le problème vient de cette ligne :

setcookie($game_config['COOKIE_NAME'], $cookie, $expiretime, "/", "", 0);


et de celle-ci :

header("Location: ./frames.php");

Ce sont les lignes 22 et 24
0
medoc13 Messages postés 65 Statut Membre 21
 
il ya encore un espace

$parse = $lang;
$query = doquery('SELECT username FROM {{table}} ORDER BY register_time DESC', 'users', true);
$parse['last_user'] = $query['username'];
$query = doquery("SELECT COUNT(DISTINCT(id)) FROM {{table}} WHERE onlinetime>" . (time()-900), 'users', true);
$parse['online_users'] = $query[0];
$parse['users_amount'] = $game_config['users_amount'];
$parse['servername'] = $game_config['game_name'];
$parse['forum_url'] = $game_config['forum_url'];
$parse['PasswordLost'] = $lang['PasswordLost'];
//ici
$page = parsetemplate(gettemplate('login_body'), $parse);
display($page, $lang['Login']);
0
Attila54800 Messages postés 7 Statut Membre
 
Apparemment ce n'est pas un problème d'espace :s

J'ai toujours les mêmes messages d'erreurs
0
medoc13 Messages postés 65 Statut Membre 21
 
tu peux aficher le nouveau message d'erreur
0
Attila54800 Messages postés 7 Statut Membre
 
Warning: Cannot modify header information - headers already sent by (output started at /home/s/p/a/spacewargame/www/spacewargame/includes/constants.php:1) in /home/s/p/a/spacewargame/www/spacewargame/login.php on line 22

Warning: Cannot modify header information - headers already sent by (output started at /home/s/p/a/spacewargame/www/spacewargame/includes/constants.php:1) in /home/s/p/a/spacewargame/www/spacewargame/login.php on line 24

Les numéros de lignes ont changé car on a supprimé les espaces.
0
medoc13 Messages postés 65 Statut Membre 21
 
je crois que tu as raison, il ya un probleme entre le cookie et le header
essaye de mettre ton cookie en haut de la page dans un ob_start ... ob_flush(tappe sur google parceque je l'utilise pas)
0