[OK] Captcha n’apparaît pas !

Ici, un problème avec la création de votre script? Besoin d'aide pour concevoir une fonction en particulier? Bref, l'entraide qui n'entre pas dans les autres catégories se fait ici. Les membres peuvent ainsi s'entraider.

[OK] Captcha n’apparaît pas !

Messagepar ahmouud » Lun Jan 16, 2012 3:16 am

Bonjours,

Mon problème c'est que le captcha anti-rebot s'affiche normalement mais les lettre et les chiffres n’apparaît pas dans l'image. voila le code :

Code: Tout sélectionner
<?php

session_start();
header ("Content-type: image/png");
$image = imagecreate(320, 100);

$blanc = imagecolorallocate($image, 255, 255, 255);
$noir = imagecolorallocate($image, 0, 0, 0);
$gris = imagecolorallocate($image, 200,200,200);
$jaune = imagecolorallocate($image, 255, 255, 0);
$rouge = imagecolorallocate($image, 200, 39, 45);
$vert = imagecolorallocate($image, 45, 255, 39);
$cyan = imagecolorallocate($image, 0, 255, 255);
$magenta = imagecolorallocate($image, 200, 0, 200);
$orange = imagecolorallocate($image, 255, 160, 0);
$bleu = imagecolorallocate($image, 60, 75, 200);
$bleuclair = imagecolorallocate($image, 156, 227, 254);
$vertf = imagecolorallocate($image, 20, 140, 17);

/*$Anoir = imagecolorallocatealpha($image, 0, 0, 0, 80);
$Ajaune = imagecolorallocatealpha($image, 255, 255, 0, 80);
$Ablanc = imagecolorallocatealpha($image, 255, 255, 255, 80);
$Arouge = imagecolorallocatealpha($image, 200, 39, 45, 80);
$Avert = imagecolorallocatealpha($image, 45, 200, 39, 80);
$Acyan = imagecolorallocatealpha($image, 0, 255, 255, 80);
$Amagenta = imagecolorallocatealpha($image, 255, 0, 255, 80);
$Aorange = imagecolorallocatealpha($image, 255, 128, 0, 80);
$Ableu = imagecolorallocatealpha($image, 39, 45, 200, 80);
$Ableuclair = imagecolorallocatealpha($image, 156, 227, 254, 80);

$A2noir = imagecolorallocatealpha($image, 0, 0, 0, 25);
$A2jaune = imagecolorallocatealpha($image, 255, 255, 0, 25);
$A2blanc = imagecolorallocatealpha($image, 255, 255, 255, 25);
$A2rouge = imagecolorallocatealpha($image, 200, 39, 45, 25);
$A2vert = imagecolorallocatealpha($image, 45, 200, 39, 25);
$A2cyan = imagecolorallocatealpha($image, 0, 255, 255, 25);
$A2magenta = imagecolorallocatealpha($image, 255, 0, 255, 25);
$A2orange = imagecolorallocatealpha($image, 255, 128, 0, 25);
$A2bleu = imagecolorallocatealpha($image, 39, 45, 200, 25);
$A2bleuclair = imagecolorallocatealpha($image, 156, 227, 254, 25);*/

//Toutes les couleurs
$colors = Array($vert, $noir, $jaune, $blanc, $rouge, $cyan, $magenta, $orange, $bleu, $bleuclair, $gris, $vertf);
$Tcolors = count($colors);

/*$colors2 = Array($Avert, $Anoir, $Ajaune, $Ablanc, $Arouge, $Acyan, $Amagenta, $Aorange, $Ableu, $Ableuclair);
$Tcolors2 = count($colors2);
$colors3 = Array($A2vert, $A2noir, $A2jaune, $A2blanc, $A2rouge, $A2cyan, $A2magenta, $A2orange, $A2bleu, $A2bleuclair);
$Tcolors3 = count($colors3);*/

//couleurs autorisées pour les caractères
$Lcolors = Array($noir, $rouge, $magenta, $bleu, $vertf);
$TLcolors = count($Lcolors);

$polices = Array('baveuse3d'); //Pensez à en rajouter !!
$Tpolices = count($polices);

//définition des caractères autorisés.
$carac = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$Tcarac = strlen($carac);

//définition des lignes noires
$nb_lignes = mt_rand(3,7);
$i = 1;
while($i<=$nb_lignes)
{
   ImageLine($image, mt_rand(0,40), mt_rand(0,100), mt_rand(280, 320), mt_rand(0,100), $noir);
   $i++;
}

//définition des lignes colorées.
$nb_lignes = mt_rand(3,7);
$i = 1;
while($i<=$nb_lignes)
{
   ImageLine($image, mt_rand(0,40), mt_rand(0,100), mt_rand(280,320), mt_rand(0,100), $colors[mt_rand(0,$Tcolors-1)]);
   $i++;
}

//définition des ellipses
$nb_ellipses = mt_rand(1,6);
$i = 1;
while($i<= $nb_ellipses)
{
   ImageEllipse($image, mt_rand(0,320), mt_rand(0,100), 25+mt_rand(0,15), 25+mt_rand(0,15), $colors[mt_rand(0,$Tcolors-1)]);
   $i++;
}

//définition des triangles
$nb_triangles = mt_rand(1,6);
$i = 1;
while($i<=$nb_triangles)
{
   $array = Array(mt_rand(0,300), mt_rand(0,100), mt_rand(0,300), mt_rand(0,100), mt_rand(0,300), mt_rand(0,100));
   ImagePolygon($image, $array, 3, $colors[mt_rand(0,$Tcolors-1)]);
   $i++;
}


$aupifcolor = $Lcolors[mt_rand(0,$TLcolors-1)]; //la couleur des caractères
$ecart = 300/10+4; //écart entre les caractères

$_SESSION['captcha'] = '';

$i = 0;
while($i <= 7)
{
   $lettre = $carac[mt_rand(0, $Tcarac-1)]; //choix de lettre
   $_SESSION['captcha'] .= $lettre; //stockage
   $taille = mt_rand(35,45); //taille
   $angle = mt_rand(-35,35); //angle
   $y = mt_rand(55, 60); //ordonnée
   $police = $polices[mt_rand(0, $Tpolices-1)]; //police :p
   
   imagettftext($image, $taille, $angle, $ecart*$i+15, $y, $aupifcolor, 'polices/'.$police.'.ttf', $lettre);
   $i++;
}

imagepng($image); //On envoie et on prie :p
?>


et le lien : http://alsacehalal.free-h.net/membres/inscription.php
ahmouud
 
Messages: 11
Inscription: Lun Jan 09, 2012 8:01 pm

Re: Captcha n’apparaît pas !

Messagepar ahmouud » Lun Jan 16, 2012 6:13 am

et avec se lien vous pouvez taper sur inscription même si vous ne remplissez pas le champs le serveur se plante :/
ahmouud
 
Messages: 11
Inscription: Lun Jan 09, 2012 8:01 pm

Re: Captcha n’apparaît pas !

Messagepar Shinix » Lun Jan 16, 2012 3:00 pm

Bonjour,

Pour ton problème de validation, il faut que tu ais mis une vérification dans php qui regarde si le captcha est juste ou faux.

Personnellement je te conseil pour toi et tes utilisateurs d'utiliser ce captcha :

http://www.snoupix.com/realiser-un-capt ... ial_7.html

Il est beaucoup plus simple, bien expliqué.

SI tu veux quand même utiliser celui que tu as actuellement il faudrait, je pense, regarder les couleurs si elle ressorte bien.
Avatar de l’utilisateur
Shinix
 
Messages: 159
Inscription: Dim Jan 14, 2007 12:25 pm
Localisation: Genève

Re: Captcha n’apparaît pas !

Messagepar ahmouud » Lun Jan 16, 2012 6:13 pm

Oui j'utilise de vérifacation de catchapa et du formulaire avec le PHP et non pas javascript, mais j'aime bien utilisé mon propre code qui marche bien sur le local.
ahmouud
 
Messages: 11
Inscription: Lun Jan 09, 2012 8:01 pm

Re: Captcha n’apparaît pas !

Messagepar Shinix » Lun Jan 16, 2012 6:51 pm

D'accord, essaie d'ajouter ce code au début du script :

Code: Tout sélectionner
   ini_set('display_errors', 1);
   error_reporting(0);


Comme ça il permet d'afficher des erreurs PHP au cas ou il y en aurait !
Avatar de l’utilisateur
Shinix
 
Messages: 159
Inscription: Dim Jan 14, 2007 12:25 pm
Localisation: Genève

Re: Captcha n’apparaît pas !

Messagepar ahmouud » Lun Jan 16, 2012 7:20 pm

le code est inclu mais il me donne au lieu d'un erreur une page vierge :/
ahmouud
 
Messages: 11
Inscription: Lun Jan 09, 2012 8:01 pm

Re: Captcha n’apparaît pas !

Messagepar ahmouud » Mer Jan 18, 2012 7:58 pm

j'attend mais rien de special :s
ahmouud
 
Messages: 11
Inscription: Lun Jan 09, 2012 8:01 pm


Retourner vers Entraide générale



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités