Salam ;on s'inspirant du code d'un site sur le captcha et des tutoriels PHP j'ai une erreur d'affichage du code.
page verif_code_gen.php
vérification du code page valid.inc.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <?php // On crée la session avant tout session_start(); // On définit la configuration : $nbr_chiffres = 6; // Nombre de chiffres qui formeront le nombre // Là, on définit le header de la page pour la transformer en image header ("Content-type: image/png"); // Là, on crée notre image $_img = imagecreatefrompng('./mod/fond_verif_img.png'); // On définit maintenant les couleurs // Couleur de fond : $arriere_plan = imagecolorallocate($_img, 0, 0, 0); // Au cas où on n'utiliserait pas d'image de fond, on utilise cette couleur-là. // Autres couleurs : $avant_plan = imagecolorallocate($_img, 255, 255, 255); // Couleur des chiffres ##### Ici on crée la variable qui contiendra le nombre aléatoire ##### $i = 0; while($i < $nbr_chiffres) { $chiffre = mt_rand(0, 9); // On génère le nombre aléatoire $chiffres[$i] = $chiffre; $i++; } $nombre = null; // On explore le tableau $chiffres afin d'y afficher toutes les entrées qui s'y trouvent foreach ($chiffres as $caractere) { $nombre .= $caractere; } ##### On a fini de créer le nombre aléatoire, on le rentre maintenant dans une variable de session ##### $_SESSION['aleat_nbr'] = $nombre; // On détruit les variables inutiles : unset($chiffre); unset($i); unset($caractere); unset($chiffres); imagestring($_img, 5, 18, 8, $nombre, $avant_plan); imagepng($_img); ?>
page index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78 <?php include('./mod/verif_code_gen.php'); $_SESSION['aleat_nbr'] = $nombre; header('Content-type: text/html; charset=UTF-8'); include('./mod/cbd.inc.php'); // Traitements/vérifications $erreurs_msg = array(); // on verifi que l'utilisateur a cliquer sur le bouton connexion if (isset($_POST['sident'])) { // On vérifie que les élément sont valides if (empty($_POST['ident'] )) { $erreurs_msg['ident'] = 'Veuillez saisir votre Identifiant SVP.'; } elseif (empty($_POST['pass'])) { $erreurs_msg['pass'] = 'Veuillez saisir votre mot de passe SVP.'; } elseif (Empty($_POST['verif_code'])) { $erreurs_msg['verif_code'] = 'Veuillez saisir le texte de l\'image SVP.'; } //on verifie si aucun champs n'est vide donc <>"" (différent de vide) elseif(($_POST['ident'] <> "") AND ($_POST['pass'] <> "") and ($_POST['verif_code']==$_SESSION['aleat_nbr'])) { try { // on affecte les variables aprés leurs traitement $ident = trim(htmlspecialchars(stripslashes($_POST['ident']))); $pass = trim(htmlspecialchars(stripslashes($_POST['pass']))); // connexion a la bdd et verrification de la validité de l'identifiant et le mot de passe $verifident=$cbd->prepare('SELECT acces ,mpaccess FROM etab WHERE acces =:ident and mpaccess=:pass'); $verifident->bindParam(':ident', $_POST['ident'], PDO::PARAM_STR); $verifident->bindParam(':pass', $_POST['pass'], PDO::PARAM_STR); $verifident->execute(); $data=$verifident->fetch(); print_r ($data); // pour verifier les valeurs du tableau if (($data['acces'] == $_POST['ident']) and ($data['mpaccess'] == $_POST['pass'])) //if ($data > 1) { // création de session $_SESSION['ident'] = $data['acces']; $_SESSION['pass'] = $data['pass']; $_SESSION['id'] = $data['cdet']; $verifident->closeCursor(); $verifident = NULL; header ('location: ./interfaces/tab.php'); // exit; } else { // header ('location: ./interfaces/tab.php'); //header ('location: index.php'); } } catch( Exception $e ) { echo 'Erreur de requète : ', $e->getMessage(); } } // fin elseif } // fin isset
erreur : affichage
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 <?php include('./codephp/valid.inc.php'); ?> <!DOCTYPE html> <HTML> <head> <!--Pour forcer le navigateur à afficher en mode IE9, sans quoi il peut passer en mode quirks.--> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta charset="utf-8" /> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <!-- application dynamique --> <link rel="shortcut icon" href="image/favs3g.ico" /> <link rel="stylesheet" media="screen" type="text/css" href="css/style_div.css"> <title> Identification</title> <script type="text/javascript"> // fonction pour empeché le retour arrière boutton du navigateur function noBack(){window.history.forward()} noBack(); window.onload=noBack; window.onpageshow=function(evt){if(evt.persisted)noBack()} window.onunload=function(){void(0)} </script> </head> <body> <div class="entete"> <div class="date"> <?php $jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi"); $mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"); $heure_courante = date ("H:i"); $dateDuJour = $jour[date("w")]." ".date("d")." ".$mois[date("n")]." ".date("Y")." ".$heure_courante; echo "Date: ". $dateDuJour; ?> </div> <div class="h1"> <h1> S-3-G: Identification </h1> </div> </div> <div class="contenu"> <form class="form" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" autocomplete='off'> <p class="labelident"><label for="ident">Identifiant:</label> <input type="text" name="ident" value="<?php if (isset($_POST['ident']))echo stripslashes(htmlentities(trim($_POST['ident']))); ?>" size="28" maxlength="23" id="ident" autofocus/> <?php if (!empty($erreurs_msg['ident'])) { include('./codephp/fonctions.inc.php'); affichage_texte ("3", "red",$erreurs_msg['ident']); // fonction js pour afficher le msg en rouge } ?> </p> <p class="labelpass"><label for="pass">Mot de passe:</label> <input type="password" name="pass" value="<?php if (isset($_POST['pass']))echo stripslashes(htmlentities(trim($_POST['pass']))); ?>" " size="28" maxlength="23" id="pass"/> <?php if (!empty($erreurs_msg['pass'])) { include('./codephp/fonctions.inc.php'); affichage_texte ("3", "red",$erreurs_msg['pass']); // fonction pour afficher le msg en rouge } ?> </p> <p> <label>Texte de l'image</label> : <input type="text" name="code" size="6" /> </p> <p> <img src="./mod/verif_code_gen.php" alt="Texte de l'image" /> </p> <?php if (!empty($erreurs_msg['verif_code'])) { include('./codephp/fonctions.inc.php'); affichage_texte ("3", "red",$erreurs_msg['verif_code']); // fonction pour afficher le msg en rouge erreur captcha } ?> <p class="buttons"> <button type="submit" name="sident" value="envoyer" >Connexion</button> </p> </form> </div> <footer class="pied"> <p> Copyright © s3g - Conception kacinet <p> </footer> </body> </html>
j'arrive pas a cerner l'origine de l'erreur ( c mon premier captcha)�PNG IHDRZ s��iIDATh��ے� �ɾ�/�G/�2��&qg�Y���(՟&��;8������g��*��ʡ8B�)~yV#؞���ʡ�r(��[�����c��n\I��z{2 Ox�u�FDD4wi7���J�y��
Partager