[PHP] Captcha class v1.3

Gestart doorDaiman11 reacties42 weergaven

12 berichten · pagina 1 van 1

Daiman

Lid · Topicstarter

Berichten
5.795
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoi,

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]
?>
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
0
Berichten
6.144
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Heb je een online voorbeeld?
0
Daiman

Lid · Topicstarter

Berichten
5.795
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Voorbeeld is aan SP toegevoegd
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Dankjewel! Net toen ik dit nodig had plaats je m haha yummie+1
0
Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nice nice smile
Nog een dingetje om aan te merken:
Deze code op lijn 122 is onnodig

[COLOR= #0000BB]<?php[/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]
[COLOR= #FF8000]//Code hiertussen wel natuurlijk :)[/COLOR]
[COLOR= #007700]}[/COLOR]
?>
0
Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Nice man, ga ik gebruiken
0
Berichten
1.544
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Documentatie toegevoegd en wat snelle verbeteringen: (Onnodige dingen weggelaten)
Spoiler tonen
[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]
    
    [COLOR= #FF8000]/**
     * Width of image
     *
     * @type int
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$width[/COLOR][COLOR= #007700];[/COLOR]
   
    [COLOR= #FF8000]/**
     * Height of image
     *
     * @type int
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$height[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Text font
     *
     * @type string
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$font[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Image
     *
     * @type mixed
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$image[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Captcha text value
     *
     * @type string
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$text[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Count of lines on image
     *
     * @type int
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$count[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Count of chars
     *
     * @type int
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$chars[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Int alphabetic
     *
     * @type bool
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$alphabet[/COLOR][COLOR= #007700];[/COLOR]
    
    [COLOR= #FF8000]/**
     * Int numeric
     *
     * @type bool
     */[/COLOR]
    [URL="http://www.php.net/private"]private[/URL] [COLOR= #0000BB]$numeric[/COLOR][COLOR= #007700];[/COLOR]


    [COLOR= #FF8000]/**
     * Set the size of the image
     *
     * @param int $width Width of image
     * @param int $height Height of image
     *
     * @return void
     */[/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]
    
    [COLOR= #FF8000]/**
     * Set the count of the chars on the image
     *
     * @param int $chars Count of chars
     *
     * @return void
     */[/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]
    
    [COLOR= #FF8000]/**
     * Set the count of the lines on the image
     *
     * @param int $count Count of lines (Default: 5)
     *
     * @return void
     */[/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]
    
     [COLOR= #FF8000]/**
     * Set the font for the image
     *
     * @param string $font The font
     *
     * @return void
     */[/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]
    
     [COLOR= #FF8000]/**
     * Create the captcha string
     *
     * @return void
     */[/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]
    
     [COLOR= #FF8000]/**
     * Create the session with the captcha
     *
     * @return void
     */[/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]
    
    
     [COLOR= #FF8000]/**
     * Create the image and show it.
     *
     * @return void
     */[/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/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]
?>
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Hmmm, ik krijg te zien dat er een fout met de afbeelding is en dat hij niet geladen kan worden, heb exact dezelfde code van jouw gekopieërd Daiman...
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
header even commenten, en kijk eens welke error je krijgt?
0
Daiman

Lid · Topicstarter

Berichten
5.795
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Raaoul schreef:
Hmmm, ik krijg te zien dat er een fout met de afbeelding is en dat hij niet geladen kan worden, heb exact dezelfde code van jouw gekopieërd Daiman...
Ik vermoed dat je de font niet om de goede locatie hebt
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Daiman schreef:
Eerdere citaten tonen
Raaoul schreef:
Hmmm, ik krijg te zien dat er een fout met de afbeelding is en dat hij niet geladen kan worden, heb exact dezelfde code van jouw gekopieërd Daiman...
Ik vermoed dat je de font niet om de goede locatie hebt
De arial.ttf stond in hetzelfde mapje als mijn bestand...
0
Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Dit heeft niet heel veel zin dat weet je?
Hij herlaad niet elke keer emo
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren