Jump to content

Erro com criação de cookies!


charly
 Share

Recommended Posts

boas pessoal, eu estou a tentar criar 2 cookies, e no código que tinha, já estava lá para a criação de um outro cookie.

mas quando executo ele da-me erro e eu não entendo porque.

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sv\login.php:2) in C:\xampp\htdocs\sv\login.php  on line 42

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sv\login.php:2) in C:\xampp\htdocs\sv\login.php on line 43

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sv\login.php:2) in C:\xampp\htdocs\sv\login.php on line 46
Link to comment
Share on other sites

Algures na tua linha 2, escreveste conteúdos para o browser (por conteúdos entende-se frases, caracteres, incluindo espaços em branco. Não pode haver ouput antes de qualquer função que modifique os cabeçalhos HTTP (cookies, sesões, etc.)

http://wiki.portugal-a-programar.pt/dev_web:php:problemas_comuns_em_php#sessoes

(fala de sessões, mas aplica-se exactamente o mesmo para os cookies)

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

não isso é impossivel.

eu digo por 2 motivos passando a citar:

quando dizer que é um erro na linha 2 deves estar a referir a "login.php:2" <- a este 2, bem este 2 se não sabes é a porta que ele esta a utilizar, pois os erros são nas linhas 42,43 e 46, e olho para o que está nessas linhas, e são a criação de cookies, apenas nas linhas onde estão a ser criados cookies é que estão a dar erro, por isso algo ser passa.

Ajuda PF

obrigado softclean

Link to comment
Share on other sites

quando dizer que é um erro na linha 2 deves estar a referir a "login.php:2" <- a este 2, bem este 2 se não sabes é a porta que ele esta a utilizar, pois os erros são nas linhas 42,43 e 46, e olho para o que está nessas linhas, e são a criação de cookies, apenas nas linhas onde estão a ser criados cookies é que estão a dar erro, por isso algo ser passa.

Não, esse "2" é a linha onde o output começa (se leres a descrição do erro), o que significa que tens alguma coisa escrita provavelmente logo no início do ficheiro. Às vezes é apenas um acento que mal se vê ou um espaço lá ..

Link to comment
Share on other sites

olhem entao não sei, deixo aqui o códgo, é que no meu web host o codigo esta igual e funciona e no meu pc não:

<head><title>NexuS On Futur : By NexuSystem.co.cc</title></head>

<?php

/**
* login.php
*
* @version 1.0
* @copyright 2008 by ?????? for XNova
*/

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

$InLogin = true;

$xnova_root_path = './';
include($xnova_root_path . 'extension.inc');
include($xnova_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;

			// CODIGO DO CHARLY

			setcookie("cid",$login["id"],$expiretime);
			setcookie("cjog",$login["username"],$expiretime);

			// FIM DO CODIGO DO CHARLY
			setcookie($game_config['COOKIE_NAME'], $cookie, $expiretime);

			unset($dbsettings);

			print "<script type=text/javascript> alert('Login Efectuado com Sucesso!')</script>";
			//print "<script type=text/javascript> window.location = './overview.php' </script>";
			//header("Location: ./overview.php");

			exit;
		} else {
			message($lang['Login_FailPassword'], $lang['Login_Error']);
		}
	} else {
		message($lang['Login_FailUser'], $lang['Login_Error']);
	}
} else {
	$parse                 = $lang;
	$Count                 = doquery('SELECT COUNT(*) as `players` FROM {{table}} WHERE 1', 'users', true);
	$LastPlayer            = doquery('SELECT `username` FROM {{table}} ORDER BY `register_time` DESC', 'users', true);
	$parse['last_user']    = $LastPlayer['username'];
	$PlayersOnline         = doquery("SELECT COUNT(DISTINCT(id)) as `onlinenow` FROM {{table}} WHERE `onlinetime` > '" . (time()-900) ."';", 'users', true);
	$parse['online_users'] = $PlayersOnline['onlinenow'];
	$parse['users_amount'] = $Count['players'];
	$parse['servername']   = $game_config['game_name'];
	$parse['forum_url']    = $game_config['forum_url'];
	$parse['PasswordLost'] = $lang['PasswordLost'];

	$page = parsetemplate(gettemplate('login_body'), $parse);

	// Test pour prendre le nombre total de joueur et le nombre de joueurs connectés
	if ($_GET['ucount'] == 1) {
		$page = $PlayersOnline['onlinenow']."/".$Count['players'];
		die ( $page );
	} else {
		display($page, $lang['Login']);
	}
}

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

?>
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.