Hej
Jeg læste denne
guide, for at lære hvordan jeg kan bygge en captcha til kontaktform eller lignende. Dog er jeg stødt på et lille problem.
Jeg har lavet det helt ligesom det gøres i guiden og har tilføjet captcha til min form, men jeg får intet billede frem, kun det standardikon der betyder at billedet ikke blev fundet.
captcha.php:
- /* Indstillinger */
- $config['font'] = 'verdana.ttf'; //skriftypen vi kommer til at skrive med
- $config['fontsize'] = 12;
- $config['wordlength'] = 5; //antal bogstaver i vores captcha
- $config['characters'] = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; //de tegn der må bruges i vores tilfældige ord.
- $len = strlen($config['characters']);
- //Oprettelse af captcha koden
- for ($i = 0; $i < $config['wordlength']; $i++)
- {
- $captcha .= substr($config['characters'], mt_rand(0, $len - 1), 1); //her genererer vi det ord der senere skal vises på billedet
- }
- //Kryptering af captcha koden
- $_SESSION['key'] = md5($captcha);
- //Start på grafik der vises til brugeren
- /*Indstillinger*/
- $im = imagecreate($config['width'], $config['height']);
- $bg = imagecolorallocate($im,255,255,255);
- //Grafik tegnes
- for ($i = 0; $i <= 10; $i++)
- {
- imageline($im,mt_rand(0,$config['width']),mt_rand(0,$config['height']),mt_rand(0,$config['width']),mt_rand(0,$config['height']),imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255)));
- }
- //Tekst indskrives
- for ($i = 1; $i < $config['wordlength'] + 1; $i++)
- {
- imagettftext($im,$config['fontsize'],mt_rand(-40,40),$i * 18,mt_rand(20,40),imagecolorallocate($im,mt_rand(0,200),mt_rand(0,200),mt_rand(0,200)),$config['font'],$captcha[$i-1]);
- }
- header("Content-type: image/png"); //fortæller browseren at dette er et png-billede
- imagepng($im); //hvorefter vi giver browseren billedet
- imagedestroy($im); //fjerner billedet fra serverens hukommelse
- ?>
Min form ser således ud:
- <script type="text/javascript" src="js/tiny_mce/tiny_mce.js"></script>
- <script type="text/javascript" src="js/bbcode_mce.js">
- content_css : "style/bootstrap.css"
- </script>
- <form name="kontakt" action="inc/send_kontakt.php" method="post">
- <table>
- <tr>
- <td>
- Navn:
- </td>
- <td>
- <input type="text" name="navn" />
- </td>
- </tr>
- <tr>
- <td>
- E-mail:
- </td>
- <td>
- <input type="email" name="epost" placeholder="eksempel@eksempel.dk" />
- </td>
- </tr>
- <tr>
- <td>
- Emne:
- </td>
- <td>
- <input type="text" name="emne" />
- </td>
- </tr>
- </table>
- Besked:<br />
- <textarea name="besked" style="width: 450px; height: 180px;"></textarea><br />
- <img src="captcha.php" />
- <br />
- Indtast overstående sikkerhedskode her:
- <br />
- <input type="text" name="captcha" /><br />
- <input type="submit" name="send" value="Send" class="btn btn-success" />
- <input type="reset" name="ryd" value="Ryd formular" class="btn" />
- </form>
Jeg har ingen idé om hvorfor den ikke virker, men det kan være at der er nogen der kan kaste lys over sagen og finde problemet.
Indlæg senest redigeret d. 31.10.2012 18:33 af Bruger #17072