Dynamic Forum Signature Tutorial

Here is a little tutorial of how to make dynamic forum signature using php.

Demo:

Display using this code

<img src=”http://fkn1337.com/demos/dynamic_browser_sig/browser.php” />

My sig here detects the viewer browser and displays specific image for it, and also shows percentage between 3 browser usage.

What You Need:

  • PHP Hosting (few free ones will also work like ripway.com)
  • GDI Image Library for PHP
  • A Brain (Optional)

Files and what they do:

  • browser.php – will contain main script and act as a image.
  • count.php – will save the viewers browser count values.
  • ie.jpg – this image will be used if viewer is using MS Internet Explorer.
  • ff.jpg – this image will be used if viewer is using FireFox.
  • op.jpg – this image will be used if viewer is using Opera Browser.
  • other.jpg – this image will be used if viewer is using non of the above.

count.php
count.php to save/get the browser views count

$iecount= 1;
$ffcount= 3;
$opcount= 1;

You will have to CHMOD this file to 777 (writeable) so php can change it.

Download count.php

browser.php
initialize the count variables set 1 to avoid division by zero error

$iecount=1;
$ffcount=1;
$opcount=1;

include count.php to get the old count values

include(“count.php”);

get the user browser

$agent = $_SERVER["HTTP_USER_AGENT"];

set browser value to the browser found. ie if Internet Explorer, ff if firefox, op if Opera else other

$browser=”other”;
if ( strstr($agent, “MSIE”) ) $browser = “ie”;
elseif ( strstr($agent, “Firebird”) ) $browser = “other”;
elseif ( strstr($agent, “Safari”) ) $browser = “other”;
elseif ( strstr($agent, “Mozilla/5″) ) $browser = “ff”;
elseif ( strstr($agent, “Mozilla/6″) ) $browser = “other”;
elseif ( strstr($agent, “Mozilla/4″) ) $browser = “other”;
elseif ( strstr($agent, “Opera”) ) $browser = “op”;

add one to the count of browser detected (will be later used to set display position too)

$ie=0;
$ff=0;
$op=0;
if($browser==”ie”) $ie++;
else if($browser==”ff”) $ff++;
else if($browser==”op”) $op++;

make content of new count.php file with incremented browser count value

$File = ‘ $iecount= '.($iecount+$ie).';
$ffcount= '.($ffcount+$ff).';
$opcount= '.($opcount+$op).';
?>‘;

write the count.php file

if ($FP = fopen (“count.php”, “w”)){
fwrite ($FP, $File);
fclose ($FP);
}

add up to get percentage

$total=$iecount+ $ffcount + $opcount;

get percentage for all

$ieperc=($iecount/$total)*100;
$ffperc=($ffcount/$total)*100;
$opperc=($opcount/$total)*100;

get image for specific browser

$im = imagecreatefromjpeg($browser.”.jpg”);

make font color to be used to display percentage values

$gery = ImageColorAllocate ($im, 255, 204, 109);

display ie, ff, op count as string on image

ImageString($im, 3, 271+($ie*2), 8+$ie,round($ieperc,0).”%”,$gery);
ImageString($im, 3, 431, 8+$ff,round($ffperc,0).”%”,$gery);
ImageString($im, 3, 592, 8+$op,round($opperc,0).”%”,$gery);

make .php to act as .jpg

header(“Content-type: image/jpeg”);

show the picture content

Imagejpeg($im,”,300);

free resources clear $im in cache

ImageDestroy ($im);

remember your browser.php and code.php should always start with <?php and end with ?> and no spaces before or after, otherwise your image wont showup
e.g.

<?php
///Your code here
///and here
//and here
//till you are done
//now end .php file
?>

Download browser.php

Four Images:
ie.jpg will be shown when user is viewing using Internet Explorer

ff.jpg will be shown when user is viewing using FireFox

op.jpg will be shown when user is viewing using Opera

other.jpg will be shown when user is viewing using none of the above

Download Full Package Dynamic Forums Signature

Demo Again:

Display using this code

<img src=”http://fkn1337.com/demos/dynamic_browser_sig/browser.php” />

About Hasnat

I R TEH 1337
This entry was posted in Web Development. Bookmark the permalink.

8 Responses to Dynamic Forum Signature Tutorial

  1. OsteomyblootO says:

    Hi!
    I’m glad to join to the community.
    It is nice forum.
    But i want read more about this problem.
    Any suggestions?

  2. BigBen says:

    hey im new here. what is this forum about?
    hope to know all of u guys better!

  3. xztheericzx says:

    i’m eric. joining a couple boards and looking
    forward to participating. hehe unless i get
    too distracted!

    eric

  4. othedoTon says:

    Hello
    I’ve just registered at the forum. This is my first message.
    Please don’t be angry about me.
    Thank you.

  5. Broacycrurf says:

    The name of BWIN is strongly linked with the concept of bookmaking, today seen as a worthwhile occupation.

  6. oOgerryOo says:

    Hello,
    I’m oOgerryOo.

    Just saying hey – I’m new.

  7. lizzyfirt says:

    hello, i’m lizzy!

  8. Diabiepay says:

    Hi-ya im fresh on here. I came upon this website I have found It exceedingly helpful and its helped me tons. I should be able to give something back & assist others like its helped me.

    Thank You, Catch You Later.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>