begin process at 2012 05 31 12:41:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Probleme dans la l'ordre de mon code


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme dans la l'ordre de mon code

vendredi 30 mai 2008 à 19:11:21 | Probleme dans la l'ordre de mon code

Botitine

Tout d'abord bonjour à tous

Très content d'être parmis vous

Voici mon probleme : Je prend des cours en php et j'ai decidé de faire un livre d'or (pour le livre no problemo) avec un captcha (c'est la que vient le probleme)

Je n'arrive po a associé les deux ...
 voici mon code php :
 
<?php
session_start();
if(isset($_POST["code"]) && $_POST['submit'] && $_POST['submit']=='Signer') {
    if(($_SESSION['captcha_code'] == $_POST['code']) && (!empty($_SESSION['captcha_code'])) ) {
        //Passed!
        $captcha_msg="Merci";
    }else{
        // Not passed 8-(
        $captcha_msg="Code invalide";
        if(isset($_POST["MM_insert"])){
              unset($_POST["MM_insert"]);
        }
        if(isset($_POST["MM_update"])){
            unset($_POST["MM_update"]);
        }
    }
}
class CaptchaImage {
    var $font = "./livre/verdana.ttf";
    function hex_to_dec($hexcolor){
    //convert hex hex values to decimal ones
    $dec_color=array('r'=>hexdec(substr($hexcolor,0,2)),'g'=>hexdec(substr($hexcolor,2,2)),'b'=>hexdec(substr($hexcolor,4,2)));
    return $dec_color;
    }
    function generateCode($characters) {
        /* list all possible characters, similar looking characters and vowels have been removed */
        $possible = '23456789bcdfghjkmnpqrstvwxyz';
        $code = '';
        $i = 0;
        while ($i < $characters) {
            $code .= substr($possible, mt_rand(0, strlen($possible)-1), 1);
            $i++;
        }
        return $code;
    }
    function CaptchaImage($width='120',$height='30',$characters='6',$hex_bg_color='FFFFFF',$hex_text_color="FF0000",$hex_noise_color="CC0000", $img_file='captcha.jpg') {
        $rgb_bg_color=$this->hex_to_dec($hex_bg_color);
        $rgb_text_color=$this->hex_to_dec($hex_text_color);
        $rgb_noise_color=$this->hex_to_dec($hex_noise_color);
        $code = $this->generateCode($characters);
        /* font size will be 60% of the image height */
        $font_size = $height * 0.50;
        $image = @imagecreate($width, $height) or die('Cannot Initialize new GD image stream');
        /* set the colours */
        $background_color = imagecolorallocate($image, $rgb_bg_color['r'], $rgb_bg_color['g'],$rgb_bg_color['b']);
        $text_color = imagecolorallocate($image, $rgb_text_color['r'], $rgb_text_color['g'],$rgb_text_color['b']);
        $noise_color = imagecolorallocate($image, $rgb_noise_color['r'], $rgb_noise_color['g'],$rgb_noise_color['b']);
        /* generate random dots in background */
        for( $i=0; $i<($width*$height)/3; $i++ ) {
            imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
        }
        /* generate random lines in background */
        for( $i=0; $i<($width*$height)/150; $i++ ) {
            imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color);
        }
        /* create textbox and add text */
        $textbox = imagettfbbox($font_size, 0, $this->font, $code);
        $x = ($width - $textbox[4])/2;
        $y = ($height - $textbox[5])/2;
        imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code);
        /* save the image */
        imagejpeg($image,$img_file);
        imagedestroy($image);
        echo "<img src=\"$img_file?".time()."\" width=\"$width\" height=\"$height\" alt=\"security code\" id=\"captchaImg\">";
        $_SESSION['captcha_code'] = $code;
  
   if ((isset($_POST['auteur'])) && (isset($_POST['email'])) && (isset($_POST['message']))) {
       // si les 3 variables ne sont pas vides, et si l'adresse E-mail est valide, alors, et seulement dans ce cas, on fera notre insertion dans la base
       if ((!empty($_POST['auteur'])) && (!empty($_POST['email'])) && (!empty($_POST['message']))) {
         // on verifie le format de l'adresse E-mail saisie
         $test_mail = eregi ('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$', $_POST['email']);
         if ($test_mail) {
             // on se connecte à notre base
             $base = mysql_connect ('db1472.1and1.fr', 'dbo245399632', 'suzette'); 
             mysql_select_db ('db245399632', $base);
 
             // on prepare notre requête d'insertion des données
            $sql = 'INSERT INTO livre_or VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['email']).'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['message']).'")';
 
            // on lance la requête
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
            // on ferme la connexion à la base de données
           mysql_close();
 
     
            // on termine le script courant
             exit();
       
          }
         else {
            $erreur = 'Votre adresse E-mail est invalide.';
          }
       }
       else {
          $erreur = 'Au moins un des champs est vide.';
      }
    }
    else {
       $erreur = 'Les variables nécessaires au script ne sont pas définies.';
    }
}
}
?>

et mon formulaire :

<form  name="livreor" id="livreor" action="index1.php?page=id21" method="post">
 <table>
 <tr><td>
<span class="gras">Auteur :</span>
 </td><td>
<input type="text" name="auteur" maxlength="30" size="50" value="<?php if (isset($_POST['auteur'])) echo htmlentities(trim($_POST['auteur'])); ?>">
 </td></tr><tr><td>
 <span class="gras">Adresse E-mail :</span>
 </td><td>
 <input type="text" name="email" maxlength="50" size="50" value="<?php if (isset($_POST['email'])) echo htmlentities(trim($_POST['email'])); ?>">
 </td></tr>
 <tr><td colspan="2"> <p align="right"><a href="javascript: smiley(' c014 ');"><img src="./img/smiley/c014.gif" border="0"></a> &nbsp;<a href="javascript: smiley(' lol ');"><img src="./img/smiley/lol.gif" border="0"></a> &nbsp;<a href="javascript: smiley(' hihihi ');"><img src="./img/smiley/hihihi.gif" border="0"></a>&nbsp;<a href="javascript: smiley(' mdr ');"><img src="./img/smiley/mdr.GIF"  width="62" height="53" border="0"></a> &nbsp;<a href="javascript: smiley(' ;) ');"><img src="./img/smiley/wink.gif"  width="20" height="20" border="0"></a> &nbsp;<a href="javascript: smiley(' c029 ');"><img src="./img/smiley/c029.gif"  border="0"></a>&nbsp;&nbsp;<a href="javascript: smiley(' 8-( ');"><img src="./img/smiley/colere.gif" border="0"></a> &nbsp;<a href="javascript:smiley(' :) ');"><img src="./img/smiley/fou.png"  width="19" height="19" border="0"></a> &nbsp;<a href="javascript: smiley(' :-? ');"><img src="./img/smiley/confus.gif"  width="20" height="20" border="0"></a>&nbsp;<a href="javascript: smiley(' c066 ');"><img src="./img/smiley/c066.gif" border="0"></a>&nbsp;<a href="javascript: smiley(' ^^ ');"><img src="./img/smiley/fete.gif" width="42" height="34" border="0"></a>  </p>
 </td></tr>
 <tr><td>
 <span class="gras">Votre message :</span>
 </td><td>
 <textarea name="message" id="message" onSelect="storeCaret(this);" onClick="storeCaret(this);" onKeyUp="storeCaret(this);" cols="50" rows="10" value="<?php if (isset($_POST['message'])) echo nl2br(htmlentities(trim($data['message'],ENT_COMPAT , 'utf-8'))); ?>"></textarea>
 </td></tr>
  <tr>
   <td>Code :</td>
   <td><?php $captcha = new CaptchaImage(120,50,5,'FF0099','FFFFFF','000000');?></td></tr>
<tr>
   <td>
   Saisir le code
   :
   <td><label>
     <input type="text" name="code" id="code">
 &nbsp;&nbsp;<?php echo $captcha_msg ?></label></td>
 </tr>
 <tr>
   <td>
  
   <td align="right">
 <input type="submit" name="submit" value="Signer">
 </td></tr></table>
</form><br /></p><?php
 if (isset($erreur)) echo '<br /><br />',$erreur; 
?>

Merci de votre aide ça serai sympa de m'expliquer mon erreur sinon je recommencerai lol
Merci a tous et super site c'est grâce a vous que je me suis mi a apprendre le php
vendredi 30 mai 2008 à 20:57:38 | Re : Probleme dans la l'ordre de mon code

nicomilville

Membre Club
Salut,

Va voir mon code de livre d'or avec captcha, et sert toi en d'exemple pour ton code...
Je tiens a préciser que mon code n'est pas parfait, loin de la...

a++

Si la réponse vous convient, pensez : Réponse accepté !

vendredi 30 mai 2008 à 22:00:31 | Re : Probleme dans la l'ordre de mon code

Botitine

Merci je vais jetter un oeil
samedi 31 mai 2008 à 10:12:37 | Re : Probleme dans la l'ordre de mon code

nicomilville

Membre Club
ok,

a++

Si la réponse vous convient, pensez : Réponse accepté !

samedi 31 mai 2008 à 16:02:25 | Re : Probleme dans la l'ordre de mon code

Botitine

Merci mais bon ça m'aide pas beaucoup car ton code n'a vraiment rien a voir avec le mien au niveau du captcha et je ne voudrai po recopier ton code...

Personne ne peut m'aider sniff?
samedi 31 mai 2008 à 19:24:56 | Re : Probleme dans la l'ordre de mon code

nicomilville

Membre Club
c'est a dire, peus tu préciser ?
Mon livre d'or utilise un système captcha non ?

a++

Si la réponse vous convient, pensez : Réponse accepté !

samedi 31 mai 2008 à 20:53:25 | Re : Probleme dans la l'ordre de mon code

Botitine

Oui tout a fait mais je ne veux pas recopier ton code betement tu me comprends ?
J'aimerai avoir une explication sur mon erreur tout simplement
samedi 31 mai 2008 à 20:56:46 | Re : Probleme dans la l'ordre de mon code

nicomilville

Membre Club
ok, je verrai ça demain...

a++

Si la réponse vous convient, pensez : Réponse accepté !

dimanche 1 juin 2008 à 18:24:24 | Re : Probleme dans la l'ordre de mon code

Botitine

Merci c'est gentil de ta part
dimanche 1 juin 2008 à 21:02:22 | Re : Probleme dans la l'ordre de mon code

Botitine

Coucou c'est bon j'ai reçu ^^
avec ce code la j'ai regardé le debut de ton code et j'ai compris que j'avais mi les 'else' dans le desordre
encore un petit probleme à regler lorsque que le code n'est pas mi le captcha ecrit code invalide mais le plus gros est fait
Merci beaucoup

<?php
session_start();
if (isset($_POST['submit']) && $_POST['submit']=='Signer' && ($_SESSION['captcha_code'] == $_POST['code']) && (!empty($_SESSION['captcha_code'])) ) {
   
   if ((isset($_POST['auteur'])) && (isset($_POST['email'])) && (isset($_POST['message']))) {
       // si les 3 variables ne sont pas vides, et si l'adresse E-mail est valide, alors, et seulement dans ce cas, on fera notre insertion dans la base
       if ((!empty($_POST['auteur'])) && (!empty($_POST['email'])) && (!empty($_POST['message']))) {
         // on verifie le format de l'adresse E-mail saisie
         $test_mail = eregi ('^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)+$', $_POST['email']);
         if ($test_mail) {
             // on se connecte à notre base
             $base = mysql_connect ('base', 'nom, 'pass'); 
             mysql_select_db ('nom', $base);
 
             // on prepare notre requête d'insertion des données
            $sql = 'INSERT INTO livre_or VALUES("", "'.mysql_escape_string($_POST['auteur']).'", "'.mysql_escape_string($_POST['email']).'", "'.date("Y-m-d H:i:s").'", "'.mysql_escape_string($_POST['message']).'")';
 
            // on lance la requête
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
 
            // on ferme la connexion à la base de données
           mysql_close();
 
     
            // on termine le script courant
             exit();
       
          }
         else {
            $erreur = 'Votre adresse E-mail est invalide.';
          }
       }
       else {
          $erreur = 'Au moins un des champs est vide.';
      }
    }
    else {
       $erreur = 'Les variables nécessaires au script ne sont pas définies.';
    }
    //Passed!
        $captcha_msg="Merci";
    }else{
        // Not passed 8-(
        $captcha_msg="Code invalide";
        if(isset($_POST["MM_insert"])){
              unset($_POST["MM_insert"]);
        }
}
        if(isset($_POST["MM_update"])){
            unset($_POST["MM_update"]);
        }
class CaptchaImage {
    var $font = "./livre/verdana.ttf";
    function hex_to_dec($hexcolor){
    //convert hex hex values to decimal ones
    $dec_color=array('r'=>hexdec(substr($hexcolor,0,2)),'g'=>hexdec(substr($hexcolor,2,2)),'b'=>hexdec(substr($hexcolor,4,2)));
    return $dec_color;
    }
    function generateCode($characters) {
        /* list all possible characters, similar looking characters and vowels have been removed */
        $possible = '23456789bcdfghjkmnpqrstvwxyz';
        $code = '';
        $i = 0;
        while ($i < $characters) {
            $code .= substr($possible, mt_rand(0, strlen($possible)-1), 1);
            $i++;
        }
        return $code;
    }
    function CaptchaImage($width='120',$height='30',$characters='6',$hex_bg_color='FFFFFF',$hex_text_color="FF0000",$hex_noise_color="CC0000", $img_file='captcha.jpg') {
        $rgb_bg_color=$this->hex_to_dec($hex_bg_color);
        $rgb_text_color=$this->hex_to_dec($hex_text_color);
        $rgb_noise_color=$this->hex_to_dec($hex_noise_color);
        $code = $this->generateCode($characters);
        /* font size will be 60% of the image height */
        $font_size = $height * 0.50;
        $image = @imagecreate($width, $height) or die('Cannot Initialize new GD image stream');
        /* set the colours */
        $background_color = imagecolorallocate($image, $rgb_bg_color['r'], $rgb_bg_color['g'],$rgb_bg_color['b']);
        $text_color = imagecolorallocate($image, $rgb_text_color['r'], $rgb_text_color['g'],$rgb_text_color['b']);
        $noise_color = imagecolorallocate($image, $rgb_noise_color['r'], $rgb_noise_color['g'],$rgb_noise_color['b']);
        /* generate random dots in background */
        for( $i=0; $i<($width*$height)/3; $i++ ) {
            imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
        }
        /* generate random lines in background */
        for( $i=0; $i<($width*$height)/150; $i++ ) {
            imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color);
        }
        /* create textbox and add text */
        $textbox = imagettfbbox($font_size, 0, $this->font, $code);
        $x = ($width - $textbox[4])/2;
        $y = ($height - $textbox[5])/2;
        imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code);
        /* save the image */
        imagejpeg($image,$img_file);
        imagedestroy($image);
        echo "<img src=\"$img_file?".time()."\" width=\"$width\" height=\"$height\" alt=\"security code\" id=\"captchaImg\">";
        $_SESSION['captcha_code'] = $code;
        }}
?>

1 2

Cette discussion est classée dans : code, post, hex, color, nbsp


Répondre à ce message

Sujets en rapport avec ce message

$_POST n'affiche rien [ par LailaMsaadi ] j'ai un soucis qu'est le suivant : Grâce à un formulaire, je veux récupérer la valeur d'un mail : voici mon code [color=red] Undefined index avec Rabid Ratings v1.4 [ par jojo210 ] Hello, J'ai un un problème, lors de l'installation en local de [url=http://www.msteigerwalt.com/widgets/ratings/v1.4/]Rabid Ratings[/url] Après avo Formulaire et INSERT INTO [ par th3sorrow ] Bonjour, je suis en train de créer un site en PHP interrogeant une base de données MySQL, que je teste pour l'instant en local sous WampServer. Etant fenetre transparente [ par eva4 ] Bonjour, je voudrais réaliser une page classic mais avec un fond transparent. Cependant j'ai une partie avec une couleur et du texte et je voudra erreur du code [ par esteller ] bonjour à tous j'ai un formulaire permettant de faire une recherche par le nom.quand je clique sur rechercher il m'affiche le nombre d'enregistrements $POST [ par eva4 ] Bonjour, Dans une page j'ai des données qui arrivent sous cette forme : [code=php]$valeur1 = $_POST['mon_champ']; $valeur2 = $_POST['mon_ fonction ONCLICK [ par eva4 ] Bonjour les amis [^^happy3] Voici un code très simple qui dit, si un changement intervient sur le bouton radio alors affiche un message: [code=html] Demande d'aide index.php [ par IrX ] Bonjour je me permet de venir vers vous,car étant débutant complètement je rencontre un souci.en effet ont ma transmis un code php pour restreindre l Envoyer un $_POST son submit une form [ par bazbazus ] bonjour a tous mon problem et que je veux envoyer un post son submit [code=html] // ici je veux envo Formulaires [ par jmp kjm ] Bonjour, J'ai un problème pour correctement gérer le routage du visiteur vers la bonne application. Dans index.php j'ai : [code=php]if(!$_POST['ouv


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales