Originariamente inviato da StepUniversal
nessuno mi può aiutare???? per favore
Questo è il codice che metterai in un file esterno.php
Codice PHP:
<?php
session_start();
if (empty($_SESSION['rand_code'])){
$str = "";
$length = 0;
$caratteri = "abcdefhijkmnprstuvwxyz12345679"; //TIPI di caratteri che appaiono come immagine (31)
for ($i = 0; $i < 4; $i++){ //Il 4 indica il numero di caratteri-immagine che appaiono
$str .= $caratteri{rand(0,30)}; //Quanti TIPI di caratteri-immagine appaiono random ad ogni ciclo, 0+30=31
}
$_SESSION['rand_code'] = $str;
}
$imgX = 60; //Sposta a dx i caratteri-immagine
$imgY = 18; //Sposta in alto i caratteri-immagine
$image = imagecreatetruecolor(60, 20);
$backgr_col = imagecolorallocate($image, 238,239,239); //Colore di sfondo #eeefef
$border_col = imagecolorallocate($image, 208,208,20); //Colore del bordo #d0d014
$text_col = imagecolorallocate($image, 46,60,31); //Colore dei caratteri-immagine #2e3c1f
imagefilledrectangle($image, 0, 0, 60, 20, $backgr_col); //Cambiando i 4 valori appare un'ombra nera e si può creare un'effetto rilievo o incassato del rettangolo
imagerectangle($image, 0, 0, 59, 19, $border_col); //Sposta il bordino colorato del rettangolo
$font = "verdana.ttf"; // Font che si trova nella cartella Captcha e che appare come immagine
$font_size = 14; //Dimensione dei caratteri-immagine
$angle = 0; //Ruota obliqui i caratteri-immagine
$box = imagettfbbox($font_size,$angle,$font,$_SESSION['rand_code']);
$x = (int)($imgX - $box[4]) / 2; //Sposta a sx i caratteri-immagine
$y = (int)($imgY - $box[5]) / 2; //Sposta in alto i caratteri-immagine
imagettftext($image,$font_size,$angle,$x,$y,$text_col,$font,$_SESSION['rand_code']);
header("Content-type: image/jpeg");
imagejpeg($image);
imagedestroy ($image);
//Fine Captcha-image
?>
Questo lo metti in un file esterno.js
Codice PHP:
function Captcha(){
document.write('[img]../Captcha/captcha-image.php[/img]');
}
E questo è il richiamo del form:
Codice PHP:
<script type="text/javascript">Captcha();</script>