Bonsoir,
Je développe un site en php, et lors de l'inscription des personnes il y a une image qui s'autogénère. Cette image permet de vérifier que c'est bien un utilisateur qui effectue l'opération et non un robot.
Le problème c'est qu'elle n'est généré qu'une seule fois ... même en faisant actualiser l'image reste toujours la même ...
Pourtant en local avec EasyPHP 1.8 ça fonctionne ... mais dés que j'uploade, sur mon site hébergé chez OVH, ça ne fonctionne plus ...
Code de la page qui fait référence à l'image auto-généré :
Code de l'image qui s'auto-génère :
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 <div class="bloc_corps"> <h4>Inscription</h4> <p class="alertes"><?php if(isset($_SESSION['erreur_formulaire']) AND $_SESSION['erreur_formulaire'] != NULL) { echo "<br />". $_SESSION['erreur_formulaire'] . "<br />"; unset($_SESSION['erreur_formulaire']); } ?></p> <form method="post" action="index.php?page=inscription_send"> <table border="0" class="tableau" cellpadding="0" cellspacing="0"> <tr> <td><p>Nom d'utilisateur</p></td> <td><p><input type="text" name="login" size="20" /> *</p></td> </tr> <tr> <td><p>Mot de passe</p></td> <td><p><input type="password" name="password" size="20" /> *</p></td> </tr> <tr> <td><p>Répéter le mot de passe</p></td> <td><p><input type="password" name="password2" size="20" /> *</p></td> </tr> <tr> <td><p>Retaper le code de l'image ci-dessous<br /><img src="img_verif.php" alt="image aleatoire" /></p></td> <td><p><input type="text" name="image" size="20" /> *</p></td> </tr> <tr> <td style="border-bottom: 0px;"><p>Adresse e-mail</p></td> <td style="border-bottom: 0px;"><p><input type="text" name="email" size="20" /> *</p></td> </tr> </table> <br /> <p><input type="submit" value="Envoyer" name="B1" /> <input type="reset" value="Effacer" name="B2" /></p> </form> <p style="text-align: center;">Les champs marqués d'une astérisque (*) sont obligatoires !</p> </div>
D'avance merci pour vos réponses.
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 <? header ("Content-type: image/png"); // on crée img png session_start(); $liste = "ABCDEFGHIJKLMNPQRSTUVWXYZ123456789"; $code = ''; // On créé une variable $code while(strlen($nbr_aleatoire) != 5) { $nbr_aleatoire .= $liste[rand(0,37)]; } $_SESSION['nbr_aleatoire'] = $nbr_aleatoire; $image = imagecreate(88,31); // premiere couleur --> fond de l'image $blanc = imagecolorallocate($image, 255, 255, 255); $noir = imagecolorallocate($image, 0, 0, 0); $gris = imagecolorallocate($image, 200, 200, 200); $gris_fonce = imagecolorallocate($image, 87, 87, 87); // On charge d'abord les images $source = imagecreatefrompng("img_verif.png"); //le logo est la source $destination = $image; // destination // Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image $largeur_source = imagesx($source); $hauteur_source = imagesy($source); $largeur_destination = imagesx($destination); $hauteur_destination = imagesy($destination); // On veut placer le logo en bas à droite, on calcule les coordonnées où on doit placer le logo sur la photo $destination_x = $largeur_destination - $largeur_source; $destination_y = $hauteur_destination - $hauteur_source; // On met le logo (source) dans l'image de destination (la photo) imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 30); imagestring($image, 4, 23, 8, "$nbr_aleatoire", $noir); // imagestring($image, $police(taille 1-5), $x, $y, $texte_a_ecrire, $couleur); ImageRectangle ($image, 0, 0, 87, 30, $gris_fonce); //ImageRectangle ($image, $x1, $y1, $x2, $y2, $couleur); imagepng($image); // affichage de l'image ?>![]()








Répondre avec citation




Partager