Hoi,
Sorry voor het omhoog halen van dit topic.
Maar vond het ook weer zo raar om hier een nieuw topic voor te maken terwijl ik er nog 1 had.
Ik heb hem nu wat veranderd.
Hij is nu in een class gebouwd.
En je kunt het aantal lijnen en tekens wijzigen.
captcha.class.php
Check bestand:
Om de image te maken gebruik je captcha::make(aantal lijnen, aantal tekens)
om te checken gebruik je captcha::check(plaincaptcha)
Sorry voor het omhoog halen van dit topic.
Maar vond het ook weer zo raar om hier een nieuw topic voor te maken terwijl ik er nog 1 had.
Ik heb hem nu wat veranderd.
Hij is nu in een class gebouwd.
En je kunt het aantal lijnen en tekens wijzigen.
captcha.class.php
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/session_start"]session_start[/URL][COLOR= #007700]();[/COLOR]
[URL="http://www.php.net/class"]class[/URL] captcha [COLOR= #007700]{[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] make[COLOR= #007700]([/COLOR][COLOR= #0000BB]$lijnen[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$aantal[/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]
[COLOR= #0000BB]$font[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]arial.ttf[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$me[/COLOR][COLOR= #007700]=[/COLOR][COLOR= #DD0000]""[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$tekst[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/array"]array[/URL][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]$aantal[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++) {[/COLOR]
[COLOR= #0000BB]$tekst[/COLOR][COLOR= #007700][] =[/COLOR] [URL="http://www.php.net/substr"]substr[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR][URL="http://www.php.net/microtime"]microtime[/URL][COLOR= #007700]()),[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]1[/COLOR][COLOR= #007700]);
}[/COLOR]
[COLOR= #0000BB]$breedte[/COLOR] [COLOR= #007700]= (([/COLOR][URL="http://www.php.net/count"]count[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tekst[/COLOR][COLOR= #007700])*[/COLOR][COLOR= #0000BB]15[/COLOR][COLOR= #007700])+[/COLOR][COLOR= #0000BB]5[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$image[/COLOR] [COLOR= #007700]=[/COLOR] ImageCreate[COLOR= #007700]([/COLOR][COLOR= #0000BB]$breedte[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]30[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$achtergrond[/COLOR] [COLOR= #007700]=[/COLOR] ImageColorAllocate[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image[/COLOR][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/foreach"]foreach[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tekst[/COLOR] [COLOR= #007700]AS[/COLOR] [COLOR= #0000BB]$tekens[/COLOR][COLOR= #007700]) {[/COLOR]
[COLOR= #0000BB]$me[/COLOR] [COLOR= #007700].=[/COLOR] [COLOR= #0000BB]$tekens[/COLOR][COLOR= #007700];
}[/COLOR]
[COLOR= #0000BB]$te[/COLOR] [COLOR= #007700]=[/COLOR] [URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$me[/COLOR][COLOR= #007700]);[/COLOR]
[COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"captcha"[/COLOR][COLOR= #007700]] =[/COLOR] [COLOR= #0000BB]$te[/COLOR][COLOR= #007700];[/COLOR]
[COLOR= #0000BB]$c[/COLOR][COLOR= #007700]=[/COLOR][COLOR= #0000BB]5[/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/count"]count[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$tekst[/COLOR][COLOR= #007700])-[/COLOR][COLOR= #0000BB]1[/COLOR][COLOR= #007700]);[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++) {[/COLOR]
ImageTTFText[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image[/COLOR][COLOR= #007700],[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]12[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]15[/COLOR][COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]10[/COLOR][COLOR= #007700]),[/COLOR] [COLOR= #0000BB]$c[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]25[/COLOR][COLOR= #007700],[/COLOR] ImageColorAllocate[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image[/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] [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] [COLOR= #0000BB]$font[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]$tekst[/COLOR][COLOR= #007700][[/COLOR][COLOR= #0000BB]$i[/COLOR][COLOR= #007700]]);[/COLOR]
[COLOR= #0000BB]$c[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #0000BB]$c[/COLOR][COLOR= #007700]+[/COLOR][COLOR= #0000BB]15[/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]$lijnen[/COLOR][COLOR= #007700];[/COLOR] [COLOR= #0000BB]$i[/COLOR][COLOR= #007700]++) {[/COLOR]
ImageLine[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image[/COLOR][COLOR= #007700],[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]80[/COLOR][COLOR= #007700]),[/COLOR] [COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]360[/COLOR][COLOR= #007700]),[/COLOR] [URL="http://www.php.net/rand"]rand[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]0[/COLOR][COLOR= #007700],[/COLOR][COLOR= #0000BB]360[/COLOR][COLOR= #007700]),[/COLOR] ImageColorAllocate[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image[/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] [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]
ImagePng[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image[/COLOR][COLOR= #007700]);[/COLOR]
ImageDestroy[COLOR= #007700]([/COLOR][COLOR= #0000BB]$image[/COLOR][COLOR= #007700]);[/COLOR]
[URL="http://www.php.net/return"]return[/URL] [COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"captcha"[/COLOR][COLOR= #007700]];
}[/COLOR]
[URL="http://www.php.net/public"]public[/URL] [URL="http://www.php.net/static"]static[/URL] [COLOR= #007700]function[/COLOR] check[COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700]) {[/COLOR]
[URL="http://www.php.net/if"]if[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$_SESSION[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"captcha"[/COLOR][COLOR= #007700]] ==[/COLOR] [URL="http://www.php.net/md5"]md5[/URL][COLOR= #007700]([/COLOR][COLOR= #0000BB]$input[/COLOR][COLOR= #007700])) {[/COLOR]
[URL="http://www.php.net/unset"]unset[/URL][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]
?> Check bestand:
[COLOR= #0000BB]<?php[/COLOR]
[URL="http://www.php.net/include"]include[/URL] [COLOR= #DD0000]captcha.class.php[/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]"make"[/COLOR][COLOR= #007700]])) {[/COLOR]
captcha[COLOR= #007700]::[/COLOR]make[COLOR= #007700]([/COLOR][COLOR= #0000BB]2[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #0000BB]5[/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]$_POST[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]"captcha"[/COLOR][COLOR= #007700]])) {[/COLOR]
[URL="http://www.php.net/if"]if[/URL] [COLOR= #007700]([/COLOR]captcha[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]"De captcha is goed ingevuld"[/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]"De captcha is niet goed ingevuld"[/COLOR][COLOR= #007700];
}
}[/COLOR]
[URL="http://www.php.net/else"]else[/URL] [COLOR= #007700]{[/COLOR]
?>
<form name="form1" method="post" action="">
captcha : <a href="#" onclick="javascript:location.reload(true)"><img src="?make=1" border="0"></a><br>
<input name="captcha" type="text" id="captcha"><br>
<input type="submit" name="Submit" value="test!">
</form>
[COLOR= #0000BB]<?php[/COLOR] [COLOR= #007700]}[/COLOR] ?> Om de image te maken gebruik je captcha::make(aantal lijnen, aantal tekens)
om te checken gebruik je captcha::check(plaincaptcha)