[PHP] Insertion d'un captcha
Résolu
digival
Messages postés
193
Date d'inscription
Statut
Membre
Dernière intervention
-
digival Messages postés 193 Date d'inscription Statut Membre Dernière intervention -
digival Messages postés 193 Date d'inscription Statut Membre Dernière intervention -
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 ?
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:
- [PHP] Insertion d'un captcha
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
22 réponses
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>
<?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>