[PHP] Insertion d'un captcha

Résolu/Fermé
digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 - 17 oct. 2009 à 19:35
digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 - 22 oct. 2009 à 17:59
Bonjour,

J'ai lu précedemment sur un tuto que je ne retrouve malheureusement plus que l'on pouvait insérer un captcha de la manière suivante :

On insère le script de la réalisation/mémorisation du captcha comme on insèrerait une image en html...
Voici mes scripts:

script page 1
[...]
<span class="etape">3. Recopie maintenant le code de vérification ci-dessous :</span><br />
<img src="w.captcha.php" alt="captcha" /> <input type="text" name="verif" size="10" maxlength="5" /><br/>
[...]

script page 2
<?php
// CREATION & MEMORISATION du CAPTCHA :
session_start();
$liste = "123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$code = '';
while(strlen($code) != 6) {$code. = $liste[rand(0,36)];}
$_SESSION['code'] = $code;

// CREATION de l'IMAGE :
$img = imageCreate(70, 20) or die ("Une erreur s'est produite lors de la création de l'image. Recommence");
$background_color = imagecolorallocate ($img, 238, 238, 238);
$ecriture_color = imagecolorallocate ($img, 0, 0, 0);
$code_police = 5;

// FILTRE du CACHE des navigateurs :
header('Expires: Mon, 26 Jul 1997 05: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");

// INSERTION du CAPTCHA dans l'IMAGE :
imageString($img, $code_police,(70-imageFontWidth($code_police) * strlen(''.$code.''))/2,0, $code,$ecriture_color);
imagejpeg($img,'',30); // qualité

// LIBÉRATION de la MÉMOIRE :
imageDestroy($img);
?>

Mais lorsque je vais sur la page 1, le captcha ne se présente pas ! (j'ai à la place la valeur du "alt") :(

Où est l'erreur ?
A voir également:

22 réponses

digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 1
21 oct. 2009 à 19:46
Le voici (je l'ai abrégé pour ne pas montrer trop de trucs inutiles) :


<?php
session_start();
if ( isset($_POST['objet']) ) {$_SESSION['objet'] = $_POST['objet'];}
?>

<?php include('w.captcha.php'); ?>

<?php include("w.design_global.php"); ?>

<!DOCTYPE ...

<body>

<div id="corps">
<table id="element_menu">[...]</table>
<h1>Me Contacter</h1>
<!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!-->
<form method="post" action="w.formulaire_contact.php" >

<span class="etape">1. Sélectionne le sujet du message...</span><br/>
<select>[...]</select> <input type="submit" value="Ok"><br/> <br/>

<form method="post" action="w.formulaire_contact.php" >
<span class="etape">2. Remplis les champs suivants :</span><br/>
<label for="nom">prénom et nom :</label> <input type="text" name="nom"/><br />
<label for="mail">adresse mail :</label> <input type="text" name="mail" style="margin-left: 4.5%"/><br />

<?php
if ( isset($_POST['objet']) )
{
if ( $_POST['objet'] == 'inscription' )
{ ?> <label>*Tu recevras un mail dans la semaine pour ton mot de passe !</label><br /><?php }
if ...
;}
?>

<br/>
<span class="etape">3. Recopie maintenant le code de vérification ci-dessous :</span><br />
<img src="w.captcha.php" alt="captcha" style="margin-left: 2%; border: 1px solid grey" /> <input type="text" name="verif" size="10" maxlength="5" /><br/>
<br/>
<input type="submit" value="Envoyer !" style="margin-left: 5%"> <label for="Envoyer !" style="color: blue"> Clique pour valider et envoyer ton message !</label><br/>

</form>
<!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!--><!-->
</div>

<?php include("w.foot.php"); ?>

<?php
session_unset();
session_destroy();
?>

</body>
</html>
0
digival Messages postés 193 Date d'inscription mercredi 14 octobre 2009 Statut Membre Dernière intervention 7 novembre 2010 1
22 oct. 2009 à 17:59
Merci P@t@ch0n ! Mon problème est maintenant résolu ! =)
0