Проблем с динамична сигнатура

Binev

Registered
ss.php
Код:
<?php
ob_start();
header("Content-type: image/png;");
$username = $_GET['username'];
$file = file_get_contents("sig.php?username=$username"); 


      $inf = explode("<br>", $file);
      $username = $inf[0];
      $wolfs = $inf[1];
      $missions = $inf[2];
      $avatar = $inf[3];

$user = "User:".$username;
$mneniq = "Wolfs:".$wolfs;
$missions= "Missions:".$missions;
$image = imagecreatefrompng("bg.png");
$font = "font/verdana.ttf";
$red = imagecolorallocate($image, 255, 0, 0);
$blue = imagecolorallocate($image, 0, 0, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$white = imagecolorallocate($image, 255, 255, 255);
$grey =  imagecolorallocate($image, 204, 204, 204);
imagefill($image, 0, 0, $black);


$font_size1 = 4;
$upper_x = 180;
$upper_y = 12;

$font_size2 = 20;
$font_angle = 0;
$lower_x = 50;
$lower_y = 50;

imagestring($image, $font_size1, 110, 10, $username, $black);
imagestring($image, $font_size1, 77, 37, $wolfs, $black);
imagestring($image, $font_size1, 151, 63, $missions, $black);
//imagettftext($image, $font_size2, $font_angle, $lower_x, $lower_y, $blue, $font, $missions);

imagepng($image);
imagedestroy($image);

?>

sig.php
Код:
<?php
include "inc/config.php";

$username = $_GET['username'];
$sql = mysql_query("SELECT * FROM `users` WHERE `username`='$username'");
$connect = mysql_fetch_array($sql);

print $connect['username']."<br>".$connect['wolfs']."<br>".$connect['missions']."<br>".$connect['avatar'];


?>

И ми дава
5669145U.jpg
 
Изкоментирай header("Content-type: image/png;"); Сто на сто ще ти даде някаква php грешка, сигурно на по светло :D може да я видя, ама в и две не виждам :D
 
Както каза sorRy сложи прост две наклонени черти //
преди
Код:
header("Content-type: image/png;");
тоест:
Код:
//header("Content-type: image/png;");
и виж дали ще ти даде някаква грешка.Също така пробвай с друг браузър.
 
Еми както виждаш дори без да знаеш каквото и да е за php, само с основни знания по английски ще забележиш че просто не ти съществува файла ss.php, от който си взимаш данните. Може би се объркал името? или е в някаква папка?
 
Грешките са няколко:

1. Няма как да включиш (include/require) файл, на който предаваш параметри. Когато напишеш

PHP:
include 'file.php?id=32';

РНР ще търси файл, чието име е "file.php?id=32", а не файл с име file.php на който да му предаде параметър id. Същото важи и при file_get_contents - можеш да укажеш името на файла и нищо друго.

2. Можеш да използваш file_get_contents за да вземеш резултата от изпълнението на файл, ако той е на друг сървър. Ако файла е на твоя сървър, и имаш права за четене, като резултат ще получиш сорс кода на този файл, а не резултата от неговото изпълнение!

PHP:
//test.php
<?php
echo date("r");


//index.php
$result = file_get_contents("test.php");
var_dump($result);

//резултат:
string(20) "<?php
echo date("r");"

Това, което искаш да направиш, може да стане по няколко начина. Като за начало - замисли се дали наистина този файл sig.php трябва да е отделен файл, а не част от ss.php

А ето и един работещ вариант:

sig.php
PHP:
<?php 
include "inc/config.php"; 

$sql = mysql_query("SELECT * FROM `users` WHERE `username`='$username'"); 
$connect = mysql_fetch_array($sql); 

print $connect['username']."<br>".$connect['wolfs']."<br>".$connect['missions']."<br>".$connect['avatar'];

ss.php
PHP:
<?php
ob_start(); 
header("Content-type: image/png;"); 

//този ред може да го пропуснеш и в sig.php да използваш $_GET['username'];
$username = $_GET['username']; 

$file = include("sig.php"); 

//.......
 
мерси сега грешката я няма но онази маймунца стои някакви други идей :|

след като махна коментара Изображението пак е със съдаржание на грешки :?
 

Back
Горе