IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Captcha et formulaire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Par défaut Captcha et formulaire
    Bonjour, à tous je suis en train de faire une site web avec un formulaire de contact qui contient un captcha et j'aurai besoin d'un peu d'aide pour corriger mon code php qui concerne l'envoi du mail. En effet lorsque je teste ce fichier en local a l'aide du logiciel wampserveur on m'indique ceci:
    Notice: Undefined index: verif in C:\wamp\www\ossawood\contactmail.php on line 15
    Je vous copie donc ici le code du fichier contactmail.php ca je n'ai pas trouvez d'où venait cette erreur.

    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
     
    <?php
     
    session_start();
     
    if(!isset($_SESSION['code']) OR strlen($_SESSION['code']) !=5) exit("Erreur !");
     
    if($_SESSION['code'] != $_POST['verif']) exit("Erreur les valeurs sont différentes !");
     
     
    $nom = $_POST['nom'];
    $nom = $_POST['prénom'];
    $exp = $_POST['mail'];
     
    $objet = stripslashes($_POST['objet']);
    $msg = stripslashes($_POST['msg']);
     
    $envoi=mail("espaceop@hotmail.fr", $objet, $msg,"From: $exp\r\n"."Reply-To: $exp\r\n");
    if($envoi) echo"Le mail a bien été envoyé !";
    else echo"L'envoi a échoué, merci de renouveller l'opération !";
     
    session_unset();
    session_destroy();
    ?>
    Je vous copie ici aussi les codes de mon captcha et de mon fichier formulaire au cas où.

    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
    <?php
    /* Démarage d'une session nécéssaire pour récupérer la valeur générée d'une page a l'autre */
    session_start();
     
    $liste = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
     
    $code = '';
     
    while(strlen($code) != 5) {
    $code .= $liste[rand(0,63)];
    }
     
    $_SESSION['code']=$code;
     
    $larg = 50;
    $haut =20;
    $img = imageCreate($larg, $haut);
    $rouge = imageColorAllocate($img,255,0,0);
    $noir = imageColorAllocate($img,0,0,0);
    $code_police=5;
    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");
     
    imageString($img, $code_police,($larg-imageFontWidth($code_police)*strlen("".$code.""))/2,0, $code,$noir);
     
    imagejpeg($img,'',60);
    imageDestroy($img);
    ?>
    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
    <form action="contactmail.php" method="post" name="contactmail" id="contactmail">
    <p>
    Nom: <br /><input type="text" id="nom" name="nom" size="30" maxlength="100"/><br />
    Pr&eacute;nom
    :<br />
    <input type="text" id="prénom" name="" size="30" maxlength="100"/><br />
    Adresse E-Mail:<br />
    <input type="text" id="mail" name="mail" size="30" maxlength="100"/><br />
    Sujet:<br />
    <input name="objet" type="text" size="30" maxlength="100" /><br />
    Message:<br />
    <textarea name="msg" cols="60" rows="10"></textarea>
    </p>
    <table width="584" border="0" cellpadding="2">
      <tr>
        <td><img src="cryptimage.php" alt="image de securisation du formulaire" width="180" height="46" title="image de securisation du formulaire" /><br />
          Merci de recopier la combinaison ci dessus dans le champ qui suit :
          <input type="text" name="verif2" size="10" maxlength="5" />
          <br />
          Changer d'image: <a href="formulaire.php" target="contenu">ici</a></td>
      </tr>
    </table>
    <p>
      <input type="submit" value="Envoyer le mail" />
    </p>
    </form>
     
    </body>
     
    </html>

    J'espère que vous pourrez m'aider.. Merci d'avance a tous ceux qui répondront.

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Bonjour,

    Dans ton formulaire, le input prenom ne porte pas de nom, "name=''", donc l'index 'prenom' de ton tabeau $_POST ne saurait pas exister.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Désolé pour les différentes modifs appportées à ma réponse, je suis dans le gaz et j'avais un peu caffouillé.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Par défaut ...
    Merci pour ta réponse je n'y avait pas fait attention, je vais voir si ca joue comme ca... et si au final mon problème est résolut... merci en tous cas

  5. #5
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    alors si tu n'as pas oublié de nous poster une partie de ton code, ton erreur est ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_SESSION['code'] != $_POST['verif'])
    il faudrait plutot écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_POST['verif']) && $_SESSION['code'] != $_POST['verif'])
    En effet, l'erreur retournée dit tout : la variable $_POST['verif'] n'existe pas OR tu essayes de faire un test dessus. Nous vérifions donc si la variable existe => isset()
    ATTENTION : écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if($_SESSION['code'] != $_POST['verif'] && isset($_POST['verif']))
    te retournerait la meme erreur Notice. En effet, il te faut toujours d'abord tester l'existence de la variable. Si tu test l'existence APRES avoir tester sa valeur, c'est comme si tu ne testais pas son existence



    J'ajouterai que cette erreur n'est qu'une notice... en général, on ne les affiche pas. Dans le php.ini :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting = E_ALL & ~E_NOTICE

Discussions similaires

  1. [phpBB] Captcha sur formulaire d'inscription à un forum phpbb depuis un autre site
    Par casimirine dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 04/12/2014, 19h46
  2. Captcha sur formulaire
    Par altordj dans le forum Langage
    Réponses: 11
    Dernier message: 07/02/2013, 20h55
  3. Comment intégrer un captcha à mon formulaire
    Par tatutatu2009 dans le forum Langage
    Réponses: 5
    Dernier message: 15/04/2011, 10h06
  4. insérer captcha dans formulaire PHP
    Par Lezardibiz dans le forum Langage
    Réponses: 2
    Dernier message: 07/05/2010, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo