vistol Posté 11 Juin 2007 Posté 11 Juin 2007 (modifié) Bonjour, Voilà mon problème, J'ai essayé de faire le formulaire selon ce topic formulaire Mais malheureusement l'image du captcha n'apparaît pas voir mon formulaire mon formulaire Est-ce que qqn pourrait m'aider svpl.... Merci d'avance Modifié 11 Juin 2007 par vistol
Dan Posté 11 Juin 2007 Posté 11 Juin 2007 Tu as une erreur dans ta balise <img...> je ne sais pas si le navigateur la corrigera de lui-même <img id='cryptogram' img src='/crypt1/crypt/cryptographp.php?cfg=0'>
vistol Posté 11 Juin 2007 Auteur Posté 11 Juin 2007 Merci pour la réponse... Donc d'après toi il faudrait que j'enlève cette balise img ? Le truc c'est que étant donné que c'est une page.php je n'arrive pas à voir la balise pour la corriger ? Désolé mais comment fait-on ? Merci
captain_torche Posté 11 Juin 2007 Posté 11 Juin 2007 ca serait dans la page qui appelle le fichier image (contact.php). Personellement, je penche plus pour une erreur dans ton fichier générant l'image. Tu pourrais poster le code de ce fichier, qu'on y voie plus clair ?
vistol Posté 11 Juin 2007 Auteur Posté 11 Juin 2007 Merci pour ta réponse... désolé de t'embêter mais je suis pas un spécialiste.... Voici la page function.php qui est appelé par la page contact.php <?php// -----------------------------------------------// Cryptographp v1.3// (c) 2006 Sylvain BRISON //// www.cryptographp.com // cryptographp_AT_alphpa.com //// Licence CeCILL (Voir Licence_CeCILL_V2-fr.txt)// ----------------------------------------------- if(session_id() == "") session_start(); $_SESSION['cryptdir'] = str_replace ($_SERVER['DOCUMENT_ROOT'],'',str_replace('\\','/',dirname(__FILE__)))."/"; function dsp_crypt($cfg=0,$reload=1) { // Affiche le cryptogramme echo "<table><tr><td><img id='cryptogram' img src='".$_SESSION['cryptdir']."cryptographp.php?cfg=".$cfg."&".SID."'></td>"; if ($reload) echo "<td><a title='".($reload==1?'':$reload)."' style=\"cursor:pointer\" onclick=\"java script:document.images.cryptogram.src='".$_SESSION['cryptdir']."cryptographp.php?cfg=".$cfg."&".SID."&'+Math.round(Math.random(0)*1000)+1\"><img src=\"".$_SESSION['cryptdir']."images/reload.png\"></a></td>"; echo "</tr></table>"; } function chk_crypt($code) { // Vérifie si le code est correct include ($_SESSION['configfile']); $code = addslashes ($code); $code = ($difuplow?$code:strtoupper($code)); switch (strtoupper($cryptsecure)) { case "MD5" : $code = md5($code); break; case "SHA1" : $code = sha1($code); break; } if ($_SESSION['cryptcode'] and ($_SESSION['cryptcode'] == $code)) { unset($_SESSION['cryptreload']); return true; } else { $_SESSION['cryptreload']= true; return false; } }?> Voici le code de la page contact.php <?php include "crypt/functions.php"; ?><?php// Dans la ligne qui suit, remplacer webmaster_AT_domaine.tld par l'adresse email du webmaster, à laquelle les messages devront être envoyés$email_webmaster = "thomas.martinoli_AT_alphacos.ch";// === traitement des données du formulaire ============================================================if (isset($_POST["envoyer"])){// le formulaire a été soumis $etat = "erreur";// Valeur par défaut. Prendra la valeur "ok" s'il n'y a pas d'erreur// --- mise en forme des champs saisis dans le formulaire lors de sa soumission --- if (isset($_POST["email_expediteur"])) { $_POST["email_expediteur"]=trim(stripslashes($_POST["email_expediteur"])); } if (isset($_POST["titre"])) { $_POST["titre"]=trim(stripslashes($_POST["titre"])); } if (isset($_POST["message"])) { $_POST["message"]=trim(stripslashes($_POST["message"])); } // --- test de la validité des champs saisis --- if (empty($_POST["email_expediteur"])) {// il manque l'email de l'expéditeur $erreur="Saisissez votre adresse email..."; } elseif (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\.[a-z]{2,4}$",$_POST["email_expediteur"])){// l'adresse e-mail n'est pas valide $erreur="Votre adresse e-mail n'est pas valide..."; } elseif (empty($_POST["message"])) {// le message est vide $erreur="Saisissez un message..."; } elseif (empty($_POST["code"])) {// le code n'est pas saisi $erreur="Saisissez le code de verification..."; } else { // --- Vérification de la validité du code captcha --- if (chk_crypt($_POST['code'])) // --- tous les champs sont correctement remplis: on pourra envoyer le mail --- $etat="ok";// --- Le code captcha n'est pas valide --- else $erreur="Code de verification non valide ..."; }}else {// --- le formulaire n'a pas été soumis --- $etat="attente";}// === fin de traitement des données du formulaire =======================================================?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xml:lang="fr" lang="fr" xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Formulaire de contact</title></head><body><h1>Contacter le webmaster</h1><?phpif ($etat!="ok"){// le formulaire n'a pas été soumis, ou soumis avec une erreur if ($etat=="erreur"){//le formulaire a été soumis avec une erreur echo "<p><strong>".$erreur."</strong></p>\n";// afficher le message d'erreur }?> <form method="post" action="<?php echo $_SERVER["crypt/PHP_SELF"]; ?>"> <p><label for="email_expediteur">Votre adresse e-mail (obligatoire):</label><br /> <input type="text" size="40" name="email_expediteur" id="email_expediteur" value="<?php if (!empty($_POST["email_expediteur"])) {// l'adresse email de l'expéditeur a été saisie: la réafficher echo htmlspecialchars($_POST["email_expediteur"],ENT_QUOTES); } ?>" /> </p> <p><label for="titre">Titre de message (facultatif):</label><br /> <input type="text" size="40" name="titre" id="titre" value="<?php if (!empty($_POST["titre"])) {// le titre du message a été saisi: le réafficher echo htmlspecialchars($_POST["titre"],ENT_QUOTES); } ?>" /> </p> <p><label for="message">Message (obligatoire):</label><br /> <textarea name="message" id="message" cols="40" rows="5"><?php if (isset($_POST["message"])) {// le message a été saisi: le réafficher echo htmlspecialchars($_POST["message"],ENT_QUOTES); } ?></textarea> </p><?php dsp_crypt(0,1); ?> <p><input type="text" name="code" /></p> <p><input type="submit" name="envoyer" value="Envoyer" /> </p> </form><?php}else {// le formulaire a été soumis sans erreur, on envoie le mail $entete = "From: ".$_POST["email_expediteur"]." <".$_POST["email_expediteur"].">\n"; $entete .= "MIME-Version: 1.0"; if (@mail($email_webmaster,$_POST["titre"],$_POST["message"],$entete)){// mail envoyé echo "Votre message a été envoyé.<br />\n"; echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Envoyer un autre message...</a>\n"; } else {// erreur lors de l'envoi du mail echo "Un problème s'est produit lors de l'envoi du message.\n"; echo "<a href=\"".$_SERVER["PHP_SELF"]."\">Réessayez...</a>\n"; }}?></body></html>
iNCiTE Web Posté 15 Juin 2007 Posté 15 Juin 2007 1/ effectivement le img en trop dans la balise de l'image est inséré par le fichier functions.php, ligne 18, c'est pas trop dur de le corriger. Mais comme tout le monde a le même fichier (à commencer par moi), le problème ne vient pas de là. 2/ pour le problème je pencherais plutôt pour ton serveur qui n'accepte pas le PNG ? pour en être sûr, change de format dans config.inc.php ligne 120. Eventuellement un problème de police aussi (même fichier à partir de ligne 60) En fait l'image est bien générée ("enregistrer sous" fonctionne), mais elle est vide. Tu n'aurais pas mis la couleur des caractères identique au fond ou une transparence de 100% ? Remets le fichier config.inc.php d'origine pour tester...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant