Hoi,
Na mijn vorige versies van de captcha is hier de vernieuwde captcha class.De arial font kun je hier vinden: http://daimanmeijers.nl/opdrachten/captcha/arial.ttf
Live-voorbeeld: http://daimanmeijers.nl/captchav1.3/
Ik hoop dat jullie er wat aan hebben.
mvg,
Daiman
Na mijn vorige versies van de captcha is hier de vernieuwde captcha class.
(captcha.class.php)
[COLOR= #0000BB]<?php[/COLOR]
[COLOR= #FF8000]/**
* @Author: Daiman Meijers
* @Website: daimanmeijers.nl
* @Copyright: 2012-2013
* @License: GNU/GPL
*/[/COLOR]
[URL="http://www.php.net/class"]class[/URL] captcha
[COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$width[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Width of image[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Height of image[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$font[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Text font[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$image[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Image[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$text[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Captcha text value[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$count[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Count of lines on image[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$chars[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Count of chars[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$alphabet[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Int alphabetic[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$numeric[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #FF8000]// Int numeric[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] set_image[COLOR= #007700]([/COLOR][COLOR= #0000BB]$width[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]width [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$width[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]height [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] set_chars[COLOR= #007700]([/COLOR][COLOR= #0000BB]$chars[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]chars [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$chars[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] set_lines[COLOR= #007700]([/COLOR][COLOR= #0000BB]$count[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]5[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR][URL="http://www.php.net/count"]count[/URL] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$count[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] set_type[COLOR= #007700]([/COLOR][COLOR= #0000BB]$numeric[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$alphabet[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]alphabet [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$alphabet[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]numeric [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$numeric[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] set_font[COLOR= #007700]([/COLOR][COLOR= #0000BB]$font[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]font [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$font[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] create_captcha[COLOR= #007700]()
{[/COLOR]
[URL="http://www.php.net/for"]for[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]=[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]<=[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]chars[COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++)
{[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]2[/COLOR][COLOR= #007700]) ==[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700])
{[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]text [COLOR= #007700].=[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]9[/COLOR][COLOR= #007700]);
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[COLOR= #007700]{[/COLOR]
[COLOR= #0000BB]$alpha[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/range"]range[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]a[/COLOR][COLOR= #007700],[/COLOR][COLOR= #DD0000]z[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/shuffle"]shuffle[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$alpha[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]text [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$alpha[/COLOR][COLOR= #007700][[/COLOR][URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]25[/COLOR][COLOR= #007700])];
}
}
}[/COLOR]
[URL="http://www.php.net/private"]private[/URL] [COLOR= #007700]function[/COLOR] create_session[COLOR= #007700]()
{[/COLOR]
[COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"captcha"[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]text[COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] create_image[COLOR= #007700]()
{[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]create_captcha[COLOR= #007700]();[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]image [COLOR= #007700]=[/COLOR] ImageCreate[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]width[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]height[COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$background[/COLOR] [COLOR= #007700]=[/COLOR] ImageColorAllocate[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]image[COLOR= #007700],[/COLOR] [COLOR= #0000BB]255[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]255[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]255[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/for"]for[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]=[/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]<=[/COLOR][URL="http://www.php.net/strlen"]strlen[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]text[COLOR= #007700])-[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++)
{[/COLOR]
[COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=[/COLOR] ImageColorAllocate[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]image[COLOR= #007700],[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]255[/COLOR][COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]255[/COLOR][COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]255[/COLOR][COLOR= #007700]));[/COLOR]
ImageTTFText[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]image[COLOR= #007700],[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]14[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]19[/COLOR][COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]20[/COLOR][COLOR= #007700]), ([/COLOR][COLOR= #0000BB]5[/COLOR][COLOR= #007700]+[/COLOR][COLOR= #0000BB]17[/COLOR][COLOR= #007700]*[/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700](([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]height/[COLOR= #0000BB]2[/COLOR][COLOR= #007700]),([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]height[COLOR= #007700]-[/COLOR][COLOR= #0000BB]10[/COLOR][COLOR= #007700])),[/COLOR] [COLOR= #0000BB]$color[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]font[COLOR= #007700],[/COLOR] [COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]text[COLOR= #007700][[/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]]);
}[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR][URL="http://www.php.net/count"]count[/URL] [COLOR= #007700]>[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/for"]for[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]=[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]<=[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR][URL="http://www.php.net/count"]count[/URL][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++)
{[/COLOR]
[COLOR= #0000BB]$color[/COLOR] [COLOR= #007700]=[/COLOR] ImageColorAllocate[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]image[COLOR= #007700],[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]255[/COLOR][COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]255[/COLOR][COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]255[/COLOR][COLOR= #007700]));[/COLOR]
ImageLine[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]image[COLOR= #007700],[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]width[COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]height[COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]height[COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]height[COLOR= #007700]),[/COLOR] [COLOR= #0000BB]$color[/COLOR][COLOR= #007700]);
}
}[/COLOR]
[URL="http://www.php.net/header"]header[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]"content-type: image/png"[/COLOR][COLOR= #007700]);[/COLOR]
ImagePng[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]image[COLOR= #007700]);[/COLOR]
ImageDestroy[COLOR= #007700]([/COLOR][COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]image[COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$this[/COLOR][COLOR= #007700]->[/COLOR]create_session[COLOR= #007700]();
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [COLOR= #007700]function[/COLOR] check[COLOR= #007700]([/COLOR][COLOR= #0000BB]$captcha[/COLOR][COLOR= #007700])
{[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$captcha[/COLOR] [COLOR= #007700]==[/COLOR] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"captcha"[/COLOR][COLOR= #007700]])
{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] true[COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/return"]return[/URL] false[COLOR= #007700];
}
}
}[/COLOR]
?>(Voorbeeld)
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/require_once"]require_once[/URL][COLOR= #007700]([/COLOR][COLOR= #DD0000]captcha.class.php[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$c[/COLOR] [COLOR= #007700]= new[/COLOR] captcha[COLOR= #007700]();[/COLOR]
[COLOR= #0000BB]$c[/COLOR][COLOR= #007700]->[/COLOR]set_image[COLOR= #007700]([/COLOR][COLOR= #0000BB]100[/COLOR] [COLOR= #FF8000]/* Width of image */[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]40[/COLOR] [COLOR= #FF8000]/* Height of image*/[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$c[/COLOR][COLOR= #007700]->[/COLOR]set_chars[COLOR= #007700]([/COLOR][COLOR= #0000BB]6[/COLOR] [COLOR= #FF8000]/* Chars you need */[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$c[/COLOR][COLOR= #007700]->[/COLOR]set_type[COLOR= #007700]([/COLOR][COLOR= #0000BB]1[/COLOR] [COLOR= #FF8000]/* Set numeric */[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]1[/COLOR] [COLOR= #FF8000]/* Set alphabetic */[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$c[/COLOR][COLOR= #007700]->[/COLOR]set_lines[COLOR= #007700]([/COLOR][COLOR= #0000BB]3[/COLOR] [COLOR= #FF8000]/* Lines you need */[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$c[/COLOR][COLOR= #007700]->[/COLOR]set_font[COLOR= #007700]([/COLOR][COLOR= #DD0000]arial.ttf[/COLOR] [COLOR= #FF8000]/* Name of your font */[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_GET[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"img"[/COLOR][COLOR= #007700]]))
{[/COLOR]
[COLOR= #0000BB]$c[/COLOR][COLOR= #007700]->[/COLOR]create_image[COLOR= #007700]();
}[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][URL="http://www.php.net/isset"]isset[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"captcha"[/COLOR][COLOR= #007700]]))
{[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR][COLOR= #0000BB]$c[/COLOR][COLOR= #007700]->[/COLOR]check[COLOR= #007700]([/COLOR][COLOR= #0000BB]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"captcha"[/COLOR][COLOR= #007700]]))
{[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]U heeft de captcha juist ingevoerd[/COLOR][COLOR= #007700];
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]U heeft de captcha onjuist ingevoerd[/COLOR][COLOR= #007700];
}
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL]
[COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]<form action="" method="post" style="text-align:center;">
<img src="?img" alt="Captcha" /><br />
<input type="text" name="captcha" size="16"/><br />
<input type="submit" value="Check" />
</form>[/COLOR][COLOR= #007700];
}[/COLOR]
?>Live-voorbeeld: http://daimanmeijers.nl/captchav1.3/
Ik hoop dat jullie er wat aan hebben.
mvg,
Daiman
+1
