• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

XRS

MySQL + GD Library

17 mensagens neste tópico

Ora bem, eu tenho uma imagem e quero escrever texto  retirado da base de dados por cima.

O meu código é o seguinte:

<?php 
include_once('../header.php');
if(isset($_COOKIE["usNick"]) && isset($_COOKIE["usPass"])){ 
	$user = $_COOKIE["usNick"];
	$myDb->connect();
		$sql = "SELECT * FROM ngb_users WHERE username='$user'";
		$result = mysql_query($sql);        
		$row = mysql_fetch_array($result);
	$myDb->close();

$mymoney = $row["money"];
//PHP's GD class functions can create a variety of output image
//types, this example creates a jpeg
header("Content-Type: image/jpeg");

//open up the image you want to put text over
$im = ImageCreateFromPng("ngbux.png");

//The numbers are the RGB values of the color you want to use
$black = ImageColorAllocate($im, 255, 255, 255);

//The canvas's (0,0) position is the upper left corner
//So this is how far down and to the right the text should start
$start_x = 180;
$start_y = 30;
$start_w = 200;
$start_z = 50;

//This writes your text on the image in 12 point using verdana.ttf

Imagettftext($im, 12, 0, $start_x, $start_y, $black, 'verdana.ttf', "I already earned:");
Imagettftext($im, 18, 0, $start_w, $start_z, $black, 'verdana.ttf', "$".$mymoney);

//Creates the jpeg image and sends it to the browser
//100 is the jpeg quality percentage
Imagejpeg($im, '', 100);

ImageDestroy($im);

?> 

Ora bem, se o SQL não estiver lá ela funciona perfeitamente mas só escreve texto.

Com o SQL ele nem sequer reproduz o banner e dá-me o erro:

[06-Nov-2008 15:04:00] PHP Parse error:  syntax error, unexpected $end in /home/******/public_html/***/inc/createbanner.php on line 43

O ficheiro header está uma pasta acima.

O ficheiro createbanner.php (o mostrado) está dentro da directoria 'inc'.

Alguem me descubra este meu erro se fizerem favor que já ando as voltas com isto xD

P.S. Para quem está de volta do PHP desde as 10 da manhã chega a esta hora já não vê nada :(

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acabei de as fechar mas continua igual.

Acho que o meu problema está mesmo no código SQL que se o retirar ele funciona perfeitamente.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acabei de as fechar mas continua igual.

Acho que o meu problema está mesmo no código SQL que se o retirar ele funciona perfeitamente.

Isso é impossível, porque aquele erro era relativamente a isso mesmo.

Que erro aparece agora?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, exprimenta

$sql = "SELECT * FROM ngb_users WHERE username='".$user."'";

Cumps andreb

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas, exprimenta

$sql = "SELECT * FROM ngb_users WHERE username='".$user."'";

Cumps andreb

Nada :\

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Que erro é que aparece agora afinal?

Aquele erro era relativamente a teres aberto chavetas, e não as teres fechado (o que contradiz completamente dizeres que tirando a parte de SQL trabalhava).

Mas mesmo assim.. Que erro aparece agora então?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema e que agora nao dá erro nenhum, simplesmente não me processa a imagem..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, o ficheiro header.php serve para isso mesmo (e não só) .

Estou a inclui-lo portanto não sei mesmo o que se poderá passar com isto...

Porque é que os meus problemas são sempre insolucionáveis? = ( LOL

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tenta tirar o if, iguala $user a um user que sabes que exista, e vê se dá.

O query parece-me certo. No entanto eu quando trabalho num servidor HTTP, localmente, geralmente tenho mesmo muitos problemas com Cookies (algo que não se verifica com sessões). :S

Tenta lá. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Também não dá!

O pior é que eu já estou a trabalhar num server remoto mesmo para não ter muitos problemas com cookies (sou igual a ti..)

Acho que sou mesmo eu que não estou a perceber nada já.

O Query de outras páginas é igual e também inclui o mesmo ficheiro header e funcionam na perfeição, menos este.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmmm... Tenta isto então:

/* ... */

$sql = "SELECT money FROM ngb_users WHERE username='$user'";

/* ... */

$mymoney=mysql_result($result,0);

/* ... */

Sinceramente não percebo porque não te está a dar. :S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nada..

Eu também já ando de volta do PHP desde as 10 da manhã.. Mas pronto. Secalhar é muito simples e eu não estou a ver o erro.

Mas já agora, dá-me lá só uma olhadela no header.php se não te importares..

<?php include('includes/config.inc.php');
  require_once('includes/online.inc.php');
  require_once('includes/banned.inc.php');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><?php echo SITENAME." - ".SITESLOGAN;?></title>
<link rel="stylesheet" type="text/css" href="css/main.css" media="screen" />
<link rel="stylesheet" type="text/css" href="css/print.css" media="print" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="css/ie6_or_less.css" />
<![endif]-->
</head>
<body id="type-b">
<div id="wrap">

<div id="header">
	<div id="site-name"><?php echo SITENAME; ?></div>
	<?php include('menu_top.php');?>
</div>

<div id="content-wrap">

	<div id="utility">
	<?php include('menu_left.php');?>
	</div>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Hmm.. Não tinhas dito que estavas a definir as Cookies no header.php? Ou é ainda noutro ficheiro?

(E já agora, é boa prática fechar todas as tags de HTML :P)

EDIT: Nevermind, provavelmente fechas nos outros ficheiros. o.o

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OMG. Estou mesmo a dormir .

Acho que vou arrumar o PC e vou deitar-me que já chega de PHP.

Tão não era que pensava mesmo que tinha definido os cookies no header =| . E agora só para ser chato não encontro o ficheiro com essa informação xD

Oh meus deus. Desisto e vou dormir..Que já estou completamente frito xD

Até Amanhã!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora