Mon captcha ne s'affiche pas
- Accueil
- Forum
- Programmation
- PHP
- Mon captcha ne s'affiche pas
Profil introuvable Le 14 février 2017 à 13:33 (Édité le 25 janvier 2019 à 17:53)
Je souhaite afficher un captcha réaliser grâce à la vidéo de primfx.
Je l'avais un peu modifié (ajout des caractères aléatoires) et déjà utilisé dans un projet et il fonctionnait bien. J'ai récupéré le code pour intégrer le captcha dans un autre de mes projets mais il ne fonctionne plus !
Le contenu du fichier captcha.php :
<?php
session_start();
$characts = 'ABCDEFHJKLMNPQRSTUVWXYZ';
$characts .= '123456789';
$characts .= '?!$';
$code_aleatoire = '';
for($i=0;$i < 4;$i++){
$code_aleatoire .= substr($characts,rand()%(strlen($characts)),1);
}
$_SESSION['captcha'] = $code_aleatoire;
$img = imagecreate(85,50);
$waytofont = '//blog-clg:8080/fonts/FunSized.ttf';
$bg = imagecolorallocate($img,255,255,255);
$textcolor = imagecolorallocate($img, 0, 0, 0);
imagettftext($img, 16, 6, 10, 30, $textcolor, $waytofont, $_SESSION['captcha']);
header('Content-type:image/jpeg');
imagejpeg($img);
imagedestroy($img);
L'affichage :
<form method="POST">
<p>
<strong class="title">Votre addresse mail :</strong>
<div class="input-group">
<div class="input-group-addon"><span class="glyphicon glyphicon-envelope"></span></div>
<input type="email" name="newsletter_mail" value="<?= $mail ?>" placeholder="Entrer votre addresse mail" maxlength="30" class="form-control" />
</div>
<br>
<img src="//blog-clg:8080/build/captcha.php" alt="Remplir le captacha">
</p>
</form>
NB : Wamp utilise le port 8080, la syntaxe '//blog-clg:8080' est donc normalement correcte.
Merci d'avance
Profil introuvable Le 14 février 2017 à 13:39 (Édité le 1 janvier 1970 à 01:00)
D'après Firefox, l'erreur vient de l'image : lorsque je tape "http://blog-clg:8080/build/captcha.php" dans la barre d'URL, Firefox n'affiche pas d'image. Juste un massage blanc sur fond noir :
L'image "http://blog-clg:8080/build/captcha.php" ne peut être affichée car elle contient des erreurs.
Zbuu Le 14 février 2017 à 22:38 (Édité le 14 février 2017 à 22:40)
Ta police FunSized.ttf existe bien dans ton dossier fonts ?
Essaie de modifier :
$waytofont = '//blog-clg:8080/fonts/FunSized.ttf';
Par :
$waytofont = 'fonts/FunSized.ttf';
------------------------------------
Et si ton fichier captcha est bien dans ton dossier build de modifier :
<img src="//blog-clg:8080/build/captcha.php" alt="Remplir le captacha">
Par :
<img src="build/captcha.php" alt="Remplir le captacha">