Bonjour
J'ai monté un petit site pour ma fille avec un formulaire contenant une image CAPTCHA
Ce formulaire fonctionne très bien (en tests) dans les pages perso FREE.
Quand j'ai voulu l'installer sur LWS (en utilisation officielle) je m'aperçois que la récupération de l'image CAPTCHA ne fonctionne pas.Il semblerait que chez FREE, il faut déclarer un répertoire "sessions" qui enregistre les fichiers de sessions. A priori c'est la seule différence entre FREE et LWS.
Je mets ci-dessous les lignes de codes du formulaire et du PHP qui génère l'image.
Quelqu'un sait-il ce qu'il faut faire chez LWS pour que les sessions fonctionnent .
Merci d'avance
Philippe
FORMULAIRE :
<form action="contact.php" method="post" name="contact" id="contact">
<p>
<label for="mail">Votre adresse mail :</label><br />
<input type="text" id="mail" name="mail" size="20" maxlength="100"/><br />
<label for="objet">Objet du mail :</label><br />
<input name="objet" type="text" size="20" maxlength="100" /><br />
<label for="msg">Texte du mail :</label><br />
<textarea name="msg" cols="40" rows="4"></textarea><br />
<img src="test_dynamique.php" alt="securisation du formulaire" title="securisation du formulaire" /><br />
<label for="verif">Recopier le code ci dessus dans le champ qui suit :</label><br />
<input type="text" name="verif" size="10" maxlength="5" />
</p>
<p>
<input type="submit" value="Envoyer" />
</p>
</form>
GENERATEUR D'IMAGES :
<?
// Démarage d'une session
session_start();
// Définition de la liste des caractères autorisés, on exclus le 0
$liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
// On créer la valeur du code
$code = '';
// On crée la chaine de 5 caractères
while(strlen($code) != 5) {
$code .= $liste[rand(0,63)];
}
$_SESSION['code']=$code;
// On crée une image
$larg = 50;
$haut =20;
$img = imageCreate($larg, $haut);
$rouge = imageColorAllocate($img,255,0,0);
$noir = imageColorAllocate($img,0,0,0);
$code_police=5;
header('Expires: Mon, 08 Dec 2008 12:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header("Content-type: image/jpeg");
// On intégre le code dans l'image
imageString($img, $code_police,($larg-imageFontWidth($code_police)*strlen("".$code.""))/2,0, $code,$noir);
// On créé une image de mauvaise qualité, 23% de l'image normal
imagejpeg($img,'',23);
imageDestroy($img);
?>