France Hardware : Forums de discussion
Retrouvez les prix près de chez vous :  
Index du forum | Liste des membres | Liste des groupes | Inscription | F-A-Q | Recherche
Pseudo :    Password :     
23 577 membres enregistrés - 1 912 939 posts - 99 122 topics
Index des forums FH  | Index des forums DegroupNews
      Programmation
           [PHP] Est ce qqn peut m'aider a mettre un captcha en place ??
10 connectés(record : 272 le 28 octobre 2008 - 04 h 23)

Vous devez vous connecter pour répondre au topic.
1,2 | Suivant
[PHP] Est ce qqn peut m'aider a mettre un captcha en place ??

amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 29 octobre 2006 - 16 h 44 m 57 s
Voila, j'ai un formulaire en PHP dans lequel je voudrais mettre un captcha pour eviter les spams

Voici le code du formulaire

    Code     
  1. <?php
  2. 
  3. $email_dest = "amon2010@***";
  4. 
  5. if ($_POST['envoi']) {
  6. 
  7. $message_remerciement = "merci d\'avoir commandé chez nous";
  8. 
  9. // E-mail headers:
 10. $headers ="MIME-Version: 1.0 n";
 11. $headers .="From: Commande Prénom<contact@prenom.com>n";
 12. 
 13. $headers .="Content-Type: text/html; charset=iso-8859-1 n";
 14. 
 15. $subject = "Commande Prénom(s)";
 16. 
 17. $partie_entete = "<html><head>
 18. <meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
 19. </head>
 20. <body bgcolor=#FFFFFF>";
 21. 
 22. for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
 23. $partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>";
 24. }
 25. 
 26. if ($_POST['nbre_zone_email'] != 0) {
 27. $partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>";
 28. }
 29. 
 30. if ($_POST['nbre_zones_texte'] != 0) {
 31. $partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>";
 32. $partie_zone_texte = stripslashes($partie_zone_texte);
 33. }
 34. 
 35. $fin = "</body></html>";
 36. 
 37. $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin;
 38. 
 39. // Send the e-mail
 40. if (@!mail($email_dest,$subject,$sortie,$headers)) {
 41. echo("Envoi du formulaire impossible");
 42. } // Closing if !mail...
 43. 
 44. } // Closing if edit
 45. ?><html>
 46. <head>
 47. <title>Assistant d'envoi de formulaires</title>
 48. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 49. <script language="JavaScript"><!-- Hide script from older browsers
 50. function verifSelection() {if (mail_form.champ1.value == "") {
 51. alert("Prénom obligatoire, merci de le renseigner")
 52. return false
 53. } if (mail_form.champ2.value == "") {
 54. alert("Nom obligatoire, merci de le renseigner")
 55. return false
 56. } if (mail_form.champ3.value == "") {
 57. alert("Adresse obligatoire, merci de le renseigner")
 58. return false
 59. } if (mail_form.champ4.value == "") {
 60. alert("Code Postal obligatoire, merci de le renseigner")
 61. return false
 62. } if (mail_form.champ5.value == "") {
 63. alert("Ville obligatoire, merci de le renseigner")
 64. return false
 65. } if (mail_form.champ6.value == "") {
 66. alert("Commande obligatoire, merci de le renseigner")
 67. return false
 68. } if (mail_form.champ7.value == "") {
 69. alert("Telephone obligatoire, merci de le renseigner")
 70. return false
 71. } if (mail_form.champ9.value == "") {
 72. alert("Fond obligatoire, merci de le renseigner")
 73. return false
 74. } } // Fin de la fonction
 75. 
 76. </script>
 77. </head>
 78. 
 79. <body>
 80. <form name="mail_form" method="post" action="<?=$PHP_SELF?>" onSubmit="return verifSelection()">
 81.   <div align="center"></div>
 82. <p align="center">
 83. <a href="index.php">Retour </a> <br>
 84. <?php
 85. if ($message_remerciement) {
 86. echo("<font face=Verdana size=2>");
 87. echo(stripslashes($message_remerciement));
 88. echo("</p></body></html>");
 89. exit();
 90. }
 91. ?>
 92.   <table width="566" border="0" align="center">
 93. <p align="center">
 94. </p><tr>
 95.       <td><font face="Verdana" size="2">Prenom</font></td>
 96.       <td><input name="champ1" type="text"></td>
 97.     </tr><tr>
 98.       <td><font face="Verdana" size="2">Nom</font></td>
 99.       <td><input name="champ2" type="text"></td>
100.     </tr><tr>
101.       <td><font face="Verdana" size="2">Adresse</font></td>
102.       <td><input name="champ3" type="text"></td>
103.     </tr><tr>
104.       <td><font face="Verdana" size="2">Code Postal</font></td>
105.       <td><input name="champ4" type="text"></td>
106.     </tr><tr>
107.       <td><font face="Verdana" size="2">Ville</font></td>
108.       <td><input name="champ5" type="text"></td>
109.     </tr><tr>
110.       <td><font face="Verdana" size="2">Prenom(s) Commandé(s)</font></td>
111.       <td><input name="champ6" type="text"></td>
112.     </tr><tr>
113.       <td><font face="Verdana" size="2">Telephone</font></td>
114.       <td><input name="champ7" type="text"></td>
115.     </tr><tr>
116.       <td><font face="Verdana" size="2">Papier Cadeau</font></td>
117.       <td><input name="champ8" type="text"></td>
118.     </tr><tr>
119.       <td><font face="Verdana" size="2">Choix du fond</font></td>
120.       <td><input name="champ9" type="text"></td>
121.     </tr><tr>
122.       <td width><font face="Verdana" size="2">Courriel</font></td>
123.       <td width><input name="zone_email" type="text"></td>
124.     </tr><tr>
125.       <td valign="top"><font face="Verdana" size="2">Si vous avez une requete ou un commentaire</font></td>
126.       <td><textarea name="zone_texte" cols="50" rows="10"></textarea></td>
127.     </tr><tr>
128.       <td valign="top"><input name="nbre_champs_texte" type="hidden" id="nbre_champs_texte" value="9">
129.         <input name="nbre_zones_texte" type="hidden" value="1">
130. <input name="nbre_zone_email" type="hidden" value="1">
131. <input name="titre_champ1" type="hidden" value="Prenom"><input name="titre_champ2" type="hidden" value="Nom"><input name="titre_champ3" type="hidden" value="Adresse"><input name="titre_champ4" type="hidden" value="Code Postal"><input name="titre_champ5" type="hidden" value="Ville"><input name="titre_champ6" type="hidden" value="Prenom(s) Commandé(s)"><input name="titre_champ7" type="hidden" value="Telephone"><input name="titre_champ8" type="hidden" value="Papier Cadeau"><input name="titre_champ9" type="hidden" value="Choix du fond"><input name="titre_email" type="hidden" value="Courriel"><input name="titre_zone" type="hidden" value="Si vous avez une requete ou un commentaire"></td>
132.       <td><div align="center">
133. <input type="reset" name="Reset" value="Effacer">          
134. <input type="submit" name="envoi" value="Envoyer">
135.         </div></td>
136.     </tr>
137.   </table>
138.   <div align="center"></div>
139. </form>
140. </body>
141. </html>
Et la le code du captcha
    Code     
1. <?php include "crypt/functions.php"; ?>
2. <?php dsp_crpyt(0,1); ?>
3. <form action="verifier.php" method="post">
4. <table>
5.   <tr><td><?php dsp_crypt(0,1); ?></td></tr>
6.   <tr><td>Recopier le code:<input type="text" name="code"></td></tr>
7.   <tr><td><input type="submit" name="submit" value="Envoyer"></td></tr>
8. </table>
9. </form>


Voila.
Actuellement j'ai betement mis
la ligne 1 du captcha au debut du code du formulaire puis le reste du captcha a partir de la ligne 139 du formulaire.
Et ca me retourne une erreur


Fatal error: Call to undefined function: dsp_crpyt() in /mnt/106/sdc/d/2/amon2010/phortail/formulaire.php on line 143


Pour info la ligne 143 correspond a ca : "<?php dsp_crpyt(0,1); ?>"

Merci de votre aide



Adherez au don d'organe !!!! : France adot et Le cercle Bleu
(pour préserver l'environnement, ce post est entièrement réalisé avec des electrons recyclés)


Woofy
Pour les bons tuyaux me demander

Messages : 26 566
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 29 octobre 2006 - 20 h 49 m 57 s
Et elle y est bien dans le fichier crypt/functions.php la fonction dsp_crypt ?



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


grabber
Coordinateur
MacBook Pro Powered

Messages : 8 675
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 29 octobre 2006 - 20 h 53 m 03 s
hello,

bon alors en fait, si tu a explique exactement ce que tu as fait, il y a effectivement un souci.
ce qu'il faut faire : (enfin je pense, j'ai pas encore installe ce truc mais je vais le faire, merci pour la trouvaille ;) )
le include de la ligne 1, tu le mets tout en haut, a la 1ere ligne de ton code du formulaire.
ensuite, la ligne 2 correspond à l'affichage du captcha, donc ca il faut le coller dans ton formulaire ou tu veux que ca apparaisse. donc cette ligne, faut la mettre apres la ligne 124, tu refais un bloc <tr> avec tes 2 <td> dedans, et tu colles le dsp_crypt dans le second <td>. ensuite, dans le meme td, tu colles ton champs texte pour la recopie du code.

le reste ne sert a rien du tout, il ne faut pas laisser la balise <form> car si tu le fais, ca va te faire un form incruste dans un autre donc ca ne marchera pas. ton form reste unique :jap:

voila, ca devrait marcher ;)

test pis tu me dis



:firefox:

amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 29 octobre 2006 - 21 h 59 m 49 s
voici ce que ca donne :
formulaire

reste plus qu'a trouver pkoi y a pas d'image (et deux fois en plus :unhappy: )

Woofy : si tu regardes bien y a une coquille ds le crypt ;)


Message édité 1 fois, la dernière par amon2010 le 29 octobre 2006 - 22 h 00.

Adherez au don d'organe !!!! : France adot et Le cercle Bleu
(pour préserver l'environnement, ce post est entièrement réalisé avec des electrons recyclés)


Woofy
Pour les bons tuyaux me demander

Messages : 26 566
Inscrit le 11/01/02
Ville : Lyon
Non connecté
  Posté le 29 octobre 2006 - 22 h 12 m 15 s
cryptographp.php ?
Y a pas une faute dans le nom de l'image ?



:smileymouth: Totalement inutile, donc completement indispensable :smileymouth:

:sms:


amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 29 octobre 2006 - 22 h 21 m 30 s
cad ????

le script captcha s'appelle bien cryptographp.php



Adherez au don d'organe !!!! : France adot et Le cercle Bleu
(pour préserver l'environnement, ce post est entièrement réalisé avec des electrons recyclés)


amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 29 octobre 2006 - 22 h 45 m 59 s
bon le cote non-image en double c'est regle

fallait pas copier 2 fois la meme ligne :gni:



Adherez au don d'organe !!!! : France adot et Le cercle Bleu
(pour préserver l'environnement, ce post est entièrement réalisé avec des electrons recyclés)


Erel69
206
(¯`·.__[T3aM.L1b3rTe©]__.·´¯)

Messages : 19 449
Inscrit le 07/11/01
Ville : Lyon
Non connecté
  Posté le 29 octobre 2006 - 23 h 35 m 17 s
Ben ton erreur est claire :

    Code     
1. Warning: imagettftext() [function.imagettftext]: Could not find/open font in /mnt/106/sdc/d/2/amon2010/phortail/crypt/cryptographp.inc.php on line 84
2. Warning: imagettftext() [function.imagettftext]: Could not find/open font in /mnt/106/sdc/d/2/amon2010/phortail/crypt/cryptographp.inc.php on line 166


Le script utilise des polices TrueType qu'il ne trouve pas.
Tu as donc deux solutions :
1- Installer ces polices sur le serveur si tu peux
2- Mettre ces polices dans un répertoir /font et utiliser ce répertoire pour ce script, il y a certainement une constant qui traine pour la configuration du répertoire de font dans le script



Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...

grabber
Coordinateur
MacBook Pro Powered

Messages : 8 675
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 30 octobre 2006 - 08 h 54 m 09 s
exact, il te manque les fichiers des gabarits de police.
sinon test si ton gd est active ;)



:firefox:

grabber
Coordinateur
MacBook Pro Powered

Messages : 8 675
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 30 octobre 2006 - 08 h 59 m 15 s
tiens, la soluce est dans la doc ;)
http://www.cryptographp.com/index.php?page=3



:firefox:

amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 30 octobre 2006 - 14 h 19 m 48 s


Le 30 octobre 2006 - 08 h 54, grabber a écrit :
exact, il te manque les fichiers des gabarits de police.
sinon test si ton gd est active ;)


c'est quoi gd ?? :unhappy:



Adherez au don d'organe !!!! : France adot et Le cercle Bleu
(pour préserver l'environnement, ce post est entièrement réalisé avec des electrons recyclés)


amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 30 octobre 2006 - 14 h 21 m 47 s


Le 29 octobre 2006 - 23 h 35, Erel69 a écrit :
Ben ton erreur est claire :

    Code     
1. Warning: imagettftext() [function.imagettftext]: Could not find/open font in /mnt/106/sdc/d/2/amon2010/phortail/crypt/cryptographp.inc.php on line 84
2. Warning: imagettftext() [function.imagettftext]: Could not find/open font in /mnt/106/sdc/d/2/amon2010/phortail/crypt/cryptographp.inc.php on line 166


Le script utilise des polices TrueType qu'il ne trouve pas.
Tu as donc deux solutions :
1- Installer ces polices sur le serveur si tu peux
2- Mettre ces polices dans un répertoir /font et utiliser ce répertoire pour ce script, il y a certainement une constant qui traine pour la configuration du répertoire de font dans le script


bon alors le repertoire "font" existe bel et bien avec deja une paire de polices dedans

ensuite je vais jeter un oeil sur le "cryptographp.inc.php" je vous y colle le contenu



Adherez au don d'organe !!!! : France adot et Le cercle Bleu
(pour préserver l'environnement, ce post est entièrement réalisé avec des electrons recyclés)


amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 30 octobre 2006 - 14 h 23 m 06 s
voila deja le contenu du script
    Code     
  1. <?php
  2. 
  3. // -----------------------------------------------
  4. // Cryptographp v1.3 
  5. // (c) 2006 Sylvain BRISON 
  6. //
  7. // www.cryptographp.com 
  8. // cryptographp@alphpa.com 
  9. //
 10. // Licence CeCILL (Voir Licence_CeCILL_V2-fr.txt)
 11. // -----------------------------------------------
 12. 
 13. error_reporting(E_ALL ^ E_NOTICE);
 14. srand((double)microtime()*1000000); 
 15. 
 16. if  ((!isset($_COOKIE['cryptcookietest'])) and ($_GET[$_GET['sn']]==""))
 17.     {
 18.     header("Content-type: image/png");
 19.     readfile('images/erreur3.png'); 
 20.     exit;
 21.     }
 22. 
 23. if ($_GET[$_GET['sn']]=="") unset ($_GET['sn']); 
 24. session_start();
 25. 
 26. 
 27. // N'accepte que les fichiers de config du meme répertoire
 28. if (is_file($_GET['cfg']) and dirname($_GET['cfg'])=='.' ) $_SESSION['configfile']=$_GET['cfg']; 
 29.    else  $_SESSION['configfile']="config.inc.php";
 30. 
 31. include($_SESSION['configfile']);  
 32. 
 33. 
 34. // Vérifie si l'utilisateur a le droit de (re)générer un cryptogramme
 35. 
 36. if ($_SESSION['cryptcptuse']>=$cryptusemax) {
 37.    header("Content-type: image/png");
 38.    readfile('images/erreur1.png'); 
 39.    exit;
 40.    }
 41. 
 42. $delai = time()-$_SESSION['crypttime'];
 43. if ($delai < $cryptusetimer) { 
 44.    switch ($cryptusertimererror) {
 45.           case 2  : header("Content-type: image/png");
 46.                     //imagepng(imagecreatefrompng('images/erreur2.png'));
 47.                     readfile('images/erreur2.png'); 
 48.                     exit;
 49.           case 3  : sleep ($cryptusetimer-$delai);
 50.                     break; // Fait une pause
 51.           case 1  :          
 52.           default : exit;  // Quitte le script sans rien faire
 53.           }
 54.    }
 55. 
 56. // Création du cryptogramme temporaire
 57. 
 58. $imgtmp = imagecreatetruecolor($cryptwidth,$cryptheight);
 59. $blank  = imagecolorallocate($imgtmp,255,255,255);
 60. $black   = imagecolorallocate($imgtmp,0,0,0);
 61. imagefill($imgtmp,0,0,$blank);
 62. 
 63. $word ='';
 64. $x = 10; 
 65. $pair = rand(0,1);
 66. $charnb = rand($charnbmin,$charnbmax);
 67. for ($i=1;$i<= $charnb;$i++) {              
 68.      $tword[$i]['font'] =  $tfont[array_rand($tfont,1)];
 69.      $tword[$i]['angle'] = (rand(1,2)==1)?rand(0,$charanglemax):rand(360-$charanglemax,360);
 70.      
 71.      if ($crypteasy) $tword[$i]['element'] =(!$pair)?$charelc{rand(0,strlen($charelc)-1)}:$charelv{rand(0,strlen($charelv)-1)};
 72.         else $tword[$i]['element'] = $charel{rand(0,strlen($charel)-1)};
 73. 
 74.      $pair=!$pair;
 75.      $tword[$i]['size'] = rand($charsizemin,$charsizemax);
 76.      $tword[$i]['y'] = ($charup?($cryptheight/2)+rand(0,($cryptheight/5)):($cryptheight/1.5));
 77.      $word .=$tword[$i]['element'];
 78.      
 79.      $GDFONTPATH_Save = getenv('GDFONTPATH');
 80.      // putenv('GDFONTPATH='.realpath('./fonts'));
 81.      //$lafont=$tword[$i]['font'];
 82.      $lafont='fonts/'.$tword[$i]['font'];
 83.      if (strpos(strtoupper($lafont), ".TTF") == strlen($lafont)-4) $lafont = substr ($lafont,0,strlen($lafont)-4);
 84.      imagettftext($imgtmp,$tword[$i]['size'],$tword[$i]['angle'],$x,$tword[$i]['y'],$black,$lafont,$tword[$i]['element']);
 85.           $x +=$charspace;
 86.      } 
 87. 
 88. // Calcul du racadrage horizontal du cryptogramme temporaire
 89. 
 90. $xbegin=0;
 91. $x=0;
 92. while (($x<$cryptwidth)and(!$xbegin)) {
 93.      $y=0;
 94.      while (($y<$cryptheight)and(!$xbegin)) {
 95.            if (imagecolorat($imgtmp,$x,$y) != $blank) $xbegin = $x;
 96.            $y++;
 97.            }
 98.      $x++;
 99.      } 
100.     
101. $xend=0;
102. $x=$cryptwidth-1;
103. while (($x>0)and(!$xend)) {
104.      $y=0;
105.      while (($y<$cryptheight)and(!$xend)) {
106.            if (imagecolorat($imgtmp,$x,$y) != $blank) $xend = $x;
107.            $y++;
108.            }
109.      $x--;
110.      } 
111.      
112. $xvariation = round(($cryptwidth/2)-(($xend-$xbegin)/2));
113. imagedestroy ($imgtmp);
114. 
115. 
116. // Création du cryptogramme définitif
117. // Création du fond
118. 
119. $img = imagecreatetruecolor($cryptwidth,$cryptheight); 
120. 
121. if ($bgimg) {
122.             list($getwidth, $getheight, $gettype, $getattr) = getimagesize($bgimg);
123.             switch ($gettype) {
124.                    case "1": $imgread = imagecreatefromgif($bgimg); break;
125. 			             case "2": $imgread = imagecreatefromjpeg($bgimg); break;
126. 			             case "3": $imgread = imagecreatefrompng($bgimg); break;
127.                    }
128. 	          imagecopyresized ($img, $imgread, 0,0,0,0,$cryptwidth,$cryptheight,$getwidth,$getheight);
129. 		        imagedestroy ($imgread);
130.             }
131.             else {
132.                  $bg = imagecolorallocate($img,$bgR,$bgG,$bgB);
133.                  imagefill($img,0,0,$bg);
134.                  if ($bgclear) imagecolortransparent($img,$bg);
135.                  }
136. 
137. 
138. // Création de l'écriture 
139. 
140. if (function_exists ('imagecolorallocatealpha')) $ink = imagecolorallocatealpha($img,$charR,$charG,$charB,$charclear);
141.    else $ink = imagecolorallocate ($img,$charR,$charG,$charB);
142. 
143. $x = $xvariation;
144. for ($i=1;$i<= $charnb;$i++) {       
145.        
146.     if ($charcolorrnd){   // Choisit des couleurs au hasard
147.        $ok = false;
148.        do {
149.           $rndR = rand(0,255); $rndG = rand(0,255); $rndB = rand(0,255);
150.           $rndcolor = $rndR+$rndG+$rndB;
151.           switch ($charcolorrndlevel) {
152.                  case 1  : if ($rndcolor<200) $ok=true; break; // tres sombre
153.                  case 2  : if ($rndcolor<400) $ok=true; break; // sombre
154.                  case 3  : if ($rndcolor>500) $ok=true; break; // claires
155.                  case 4  : if ($rndcolor>650) $ok=true; break; // très claires
156.                  default : $ok=true;               
157.                  }
158.           } while (!$ok);
159.           
160.       if (function_exists ('imagecolorallocatealpha')) $rndink = imagecolorallocatealpha($img,$rndR,$rndG,$rndB,$charclear);
161.           else $rndink = imagecolorallocate ($img,$rndR,$rndG,$rndB);          
162.          }  
163.     // $lafont=$tword[$i]['font'];
164.     $lafont='fonts/'.$tword[$i]['font'];
165.     if (strpos(strtoupper($lafont), ".TTF") == strlen($lafont)-4) $lafont = substr ($lafont,0,strlen($lafont)-4);
166.     imagettftext($img,$tword[$i]['size'],$tword[$i]['angle'],$x,$tword[$i]['y'],$charcolorrnd?$rndink:$ink,$lafont,$tword[$i]['element']);
167.     // putenv('GDFONTPATH='.$GDFONTPATH_Save);
168.     $x +=$charspace;
169.     } 
170. 
171. 
172. // Ajout de bruits: point et lignes aléatoires
173. 
174. $noisecol = $noisecolorchar?$ink:$bg; 
175. $nbpx = rand($noisepxmin,$noisepxmax);
176. $nbline = rand($noiselinemin,$noiselinemax);
177. for ($i=1;$i<$nbpx;$i++) imagesetpixel ($img,rand(0,$cryptwidth-1),rand(0,$cryptheight-1),$noisecol);
178. for ($i=1;$i<=$nbline;$i++) imageline($img,rand(0,$cryptwidth-1),rand(0,$cryptheight-1),rand(0,$cryptwidth-1),rand(0,$cryptheight-1),$noisecol);
179. 
180. 
181. // Création du cadre
182. 
183. if ($bgframe) {
184.    $framecol = imagecolorallocate($img,($bgR*3+$charR)/4,($bgG*3+$charG)/4,($bgB*3+$charB)/4);
185.    imagerectangle($img,0,0,$cryptwidth-1,$cryptheight-1,$framecol);
186.    }
187.             
188.             
189. // Transformations supplémentaires: Grayscale et Brouillage
190. // Vérifie si la fonction existe dans la version PHP installée
191. 
192. if (function_exists('imagefilter')) {
193.    if ($cryptgrayscal) imagefilter ( $img,IMG_FILTER_GRAYSCALE);
194.    if ($cryptgaussianblur) imagefilter ( $img,IMG_FILTER_GAUSSIAN_BLUR);
195.    }
196. 
197. 
198. // Conversion du cryptogramme en Majuscule si insensibilité à la casse
199. 
200. $word = ($difuplow?$word:strtoupper($word));
201. 
202. 
203. // Retourne 2 informations dans la session: 
204. // - Le code du cryptogramme (crypté ou pas)
205. // - La Date/Heure de la création du cryptogramme au format integer "TimeStamp" 
206. 
207. switch (strtoupper($cryptsecure)) {    
208.        case "MD5"  : $_SESSION['cryptcode'] = md5($word); break;
209.        case "SHA1" : $_SESSION['cryptcode'] = sha1($word); break;
210.        default     : $_SESSION['cryptcode'] = $word; break;
211.        }
212. $_SESSION['crypttime'] = time();
213. $_SESSION['cryptcptuse']++;       
214.   
215. 
216. // Envoi de l'image finale au navigateur 
217. 
218. switch (strtoupper($cryptformat)) {  
219.        case "JPG"  :
220. 	     case "JPEG" : if (imagetypes() & IMG_JPG)  {
221.                         header("Content-type: image/jpeg");
222.                         imagejpeg($img, "", 80);
223.                         }
224.                      break;
225. 	     case "GIF"  : if (imagetypes() & IMG_GIF)  {
226.                         header("Content-type: image/gif");
227.                         imagegif($img);
228.                         }
229.                      break;
230. 	     case "PNG"  : 
231. 	     default     : if (imagetypes() & IMG_PNG)  {
232.                         header("Content-type: image/png");
233.                         imagepng($img);
234.                         }
235.        }
236. 
237. imagedestroy ($img);
238. unset ($word,$tword);
239. unset ($_SESSION['cryptreload']); // variable de session
240. ?>



Adherez au don d'organe !!!! : France adot et Le cercle Bleu
(pour préserver l'environnement, ce post est entièrement réalisé avec des electrons recyclés)


grabber
Coordinateur
MacBook Pro Powered

Messages : 8 675
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 30 octobre 2006 - 15 h 33 m 54 s


Le 30 octobre 2006 - 14 h 19, amon2010 a écrit :


Le 30 octobre 2006 - 08 h 54, grabber a écrit :
exact, il te manque les fichiers des gabarits de police.
sinon test si ton gd est active ;)


c'est quoi gd ?? :unhappy:


gd est une bibliotheque gra^hique sui permet de generer les images qui sont affichees. pour savoir si tu l'as, regardes dans ton phpinfo, en faisant une recherche sur gd, tu devrais la trouver, sinon apparemment ca ne marchera pas :(
jettes un oeil au lien que je t'ai file, tout est ecrit dedans avec les versions mini, etc




:firefox:

grabber
Coordinateur
MacBook Pro Powered

Messages : 8 675
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 30 octobre 2006 - 15 h 40 m 21 s
lol, pour le ficheir, laisses bet, sur un truc tout fait comme ca c pas facile de diagnostiquer ce qui va ou ne va pas, as tu bein suivi tout ce qui est dit dans la faq du site, j'y ai vu plein d'elements de reponse, ce serait etonnant que tu n'y trouves pas la tienne.

en attendant, tu devrais faire un echo de ta variable $lafont car apparemment c'est elle qui determine la fonte a utiliser. apres, refais un echo du nom de fichier complet avec le chemin du fichier et verifie que ca existe.

sinon, vla la doc de la focntion, je pense qu'il faut que tu fasses le phpinfo, j'ai des doutes sur la version car apparemment la syntaxe change entre gd 1 et gd 2...
http://www.manuelphp.com/php/function.imagettftext.php

++



:firefox:

amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 30 octobre 2006 - 15 h 50 m 17 s
:argh: :argh: :argh: :argh: :argh: :argh: :argh: :argh: :argh:

cela outrepasse tres largement mes maigres competences ds ce domaine !!! :argh: :argh: :argh: :argh:

fais chier tiens je veux pas laisser tomber mais je suis plus que larguer :mur:



Adherez au don d'organe !!!! : France adot et Le cercle Bleu
(pour préserver l'environnement, ce post est entièrement réalisé avec des electrons recyclés)


grabber
Coordinateur
MacBook Pro Powered

Messages : 8 675
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 30 octobre 2006 - 16 h 30 m 02 s
ah :(
ben si t'as un peu de patience, je vais mercredi moderniser un peu le code de mon site et au passage rajouter ce merdier sur le form de contact, donc des que c ok, je te le file tout pret.

sinon, pour le phpinfo, tu crees un fichier texte vide et tu colles ca dedans :

    Code php    
1. <?php
2. phpinfo();
3. ?>


tu uploades et tu executes.
ensuite, tu fais un ctrl + f et tu recherches GD, tu devrai tomber sur une section avec GD comme nom.

tout est la, suit ce qu'ils disent : http://www.cryptographp.com/index.php?page=10

il me semble que pour toi c l'histoire des lignes a commenter ;)



:firefox:

Erel69
206
(¯`·.__[T3aM.L1b3rTe©]__.·´¯)

Messages : 19 449
Inscrit le 07/11/01
Ville : Lyon
Non connecté
  Posté le 30 octobre 2006 - 16 h 35 m 10 s
Ton problème viens sûrement de l'emplacement de ton répertoire fonts

Dans le code que tu nous a mis, le script va chercher la font de façon relative.
Or tu as certainement inclus le script comme ça :
    Code     
1. include "crypt/functions.php";
Et le répertoire fonts se trouve sûrement dans crypt/fonts. Or le script le cherche dans fonts tout court. Donc soit tu déplaces le répertoire fonts, soit tu modifies les lignes 82 et 164 :
    Code     
1. $lafont='fonts/'.$tword[$i]['font'];
par
    Code     
1. $lafont='crypt/fonts/'.$tword[$i]['font'];



Obscurité au-delà du crépuscule, pourpre au-delà du sang qui coule, enfoui dans le flot du temps, en ton haut nom, je jure fidélité à l'obscurité. Que les fous qui se dressent devant nous soient détruits, par le pouvoir que toi et moi possédons...

grabber
Coordinateur
MacBook Pro Powered

Messages : 8 675
Inscrit le 06/03/02
Ville : Angers
Non connecté
  Posté le 30 octobre 2006 - 16 h 42 m 06 s
oui justement le truc du commentaire concerne le chemin des fontes d'apres ce que j'ai lu ds la faq...



:firefox:

amon2010
Coordinateur
Attention Chien d'un Patron très Mechant

Messages : 25 702
Inscrit le 12/02/02
Ville : Saint Egreve
Non connecté
  Posté le 30 octobre 2006 - 18 h 37 m 14 s