Avatar billede madsovich Nybegynder
13. april 2008 - 17:14 Der er 8 kommentarer og
1 løsning

Hjælp! Er det rigtigt?

Hej eksperter!
Hvad er fejlen i disse 2 koder?:

tekstsand.php:
<?
global $text;
$billede = 'lovepaasand.png';
$im = imagecreatefrompng($billede);
$font = 'BRUSHED.ttf';
$text = $_GET[text];

//RGB farvekode
$red = 500;
$green = 40;
$blue = 50;

$text_farve = imagecolorallocate($im,$red,$green,$blue);
$text_storrelse = 10;
$text_vinkel = 50;
$x = 50;
$y = 0;

imagefttext($im,$text_storrelse,$text_vinkel,$x,$y,$text_farve,$font,$text);

header("Content-type: image/png");
imagejpeg($im,null,100);
imagedestroy($im);
?>

________________________________________________________


sand.php:
<html>
<head>
<title>Pony</title>
</head>
<body>
<?
if($_GET['text']){ ?>
<img src="tekstsand.php?text=<?=$_GET['text']?>" border="0">
<? } ?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="GET">
<input name="text" type="text">
<input type="submit" value="submit" name="submit">
</form>
</body>
</html>


- Det skal være sådan, at når man skriver sit navn, så kommer det frem på billedet! I kan se hvordan det går galt her: http://showyourlove.dk/sand.php

Ville være kanon, hvis en kunne se fejlen og få den rettet.
Mange tak på forhånd!
Avatar billede tflarsen Nybegynder
13. april 2008 - 17:45 #1
lige umiddelbart mangler du et par ' i
$text = $_GET[text];
så det bliver til
$text = $_GET['text'];
men om det er nok til at få det hele til at vælte, er jeg ikke helt sikker på.

Du bør lave
if($_GET['text']){ ?>
om til
if(isset($_GET['text'])){ ?>
da du ellers vil få fejl i loggen, hvis $_GET['text'] ikke findes.
Avatar billede fant0mas Nybegynder
13. april 2008 - 17:56 #2
method="GET"
Det skal være POST.
rgb værdier kan ikke overstige 255!

$font = 'BRUSHED.ttf';
Du har ikke fonten i samme mappe.
Avatar billede jakobdo Ekspert
13. april 2008 - 17:59 #3
Det er din FONT som er problemet.

http://showyourlove.dk/BRUSHED.ttf
Hvor er BRUSHED.ttf ?
Avatar billede madsovich Nybegynder
13. april 2008 - 18:08 #4
Den ligger i samme mappe som de andre filer?
Avatar billede jakobdo Ekspert
13. april 2008 - 18:12 #5
Korrekt, men på linux er der forskel på store og små bogstaver.
Ret lige:
$font = 'BRUSHED.ttf';
til:
$font = 'BRUSHED.TTF';
Så skulle det virke.
Avatar billede madsovich Nybegynder
16. april 2008 - 19:32 #6
Jeg har nu rettet som i siger:
Sand.php:
<html>
<head>
<title>Pony</title>
</head>
<body>
<?
if(isset($_GET['text'])){ ?>
<img src="tekstsand.php?text=<?=$_GET['text']?>" border="0">
<? } ?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<input name="text" type="text">
<input type="submit" value="submit" name="submit">
</form>
</body>
</html>


tekstsand.php:
<?
global $text;
$billede = 'lovepaasand.png';
$im = imagecreatefrompng($billede);
$font = 'BRUSHED.TTF';
$text = $_GET['text'];

//RGB farvekode
$red = 500;
$green = 40;
$blue = 50;

$text_farve = imagecolorallocate($im,$red,$green,$blue);
$text_storrelse = 10;
$text_vinkel = 50;
$x = 50;
$y = 0;

imagefttext($im,$text_storrelse,$text_vinkel,$x,$y,$text_farve,$font,$text);

header("Content-type: image/png");
imagejpeg($im,null,100);
imagedestroy($im);
?>


MEN, tjek på www.showyourlove.dk/sand.php

Det virker ikke? :s Ikke engang billedet kommer nu.
Avatar billede fant0mas Nybegynder
16. april 2008 - 20:30 #7
Det er fordi jeg sagde forkert.
Sådan:
$text = $_POST['text'];
Avatar billede madsovich Nybegynder
16. april 2008 - 20:43 #8
Ændrede ingenting . :S

tekstsand.php:
<?
global $text;
$billede = 'lovepaasand.png';
$im = imagecreatefrompng($billede);
$font = 'BRUSHED.TTF';
$text = $_POST['text'];

//RGB farvekode
$red = 500;
$green = 40;
$blue = 50;

$text_farve = imagecolorallocate($im,$red,$green,$blue);
$text_storrelse = 10;
$text_vinkel = 50;
$x = 50;
$y = 0;
imagefttext($im,$text_storrelse,$text_vinkel,$x,$y,$text_farve,$font,$text);

header("Content-type: image/png");
imagejpeg($im,null,100);
imagedestroy($im);
?>

Sand.php:
<html>
<head>
<title>Pony</title>
</head>
<body>
<?
if(isset($_GET['text'])){ ?>
<img src="tekstsand.php?text=<?=$_POST['text']?>" border="0">
<? } ?>
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
<input name="text" type="text">
<input type="submit" value="submit" name="submit">
</form>
</body>
</html>
Avatar billede madsovich Nybegynder
16. april 2008 - 20:55 #9
Jeg har nu fået det til at virke med denne kode:

<?php
header("Content-type: image/png"); // image/png hvis det er et png-billede

$center = 460 / 2;
$tekst222 = substr($_GET['navn'],0,17);
$breddesaetning = strlen($tekst222)*16;
$start = $center-($breddesaetning/2);

$im = ImageCreateFrompng("lovepaasand.png");
$sort = ImageColorAllocate($im,0,0,0);
$sort1 = ImageColorAllocate($im,113,0,0);
$teksten = wordwrap($_GET['navn'],17, "\n");

ImageTTFText ($im,31,0,$start,313,$sort1,"BRUSHED.TTF",strtoupper($teksten));
ImageTTFText ($im,31,0,$start-1,314,$sort,"BRUSHED.TTF",strtoupper($teksten));
ImageJPEG($im, '', 100);
ImageDestroy($im);
?>


MEEEEN, mangler hjælp til at få stillet det ordenligt, så tekstfarven er den samme som i ''revnen'' på dette billede: http://showyourlove.dk/text.php?navn=Mads

Og så sådan, at jeg får teksten lige i midten af hjertet. :)

Ville være kanon!!

På forhånd tak :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester