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 :

Formulaire et confirmation d'envoi


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 50
    Points
    50
    Par défaut Formulaire et confirmation d'envoi
    bonjour

    je fais un formulaire et php... très simple je débute en php , mon formulaire se trouve sur devpartenaire1.php et fais appel à formmail.php pour l'envoi.

    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
    <?php
    $TO = "*********@hotmail.com";
     
    $h  = "From: " . $TO;
     
    $message = "";
     
    while (list($key, $val) = each($HTTP_POST_VARS)) {
      $message .= "$key : $val\n";
    }
     
    mail($TO, $subject, $message, $h);
     
    if (mail($TO, $subject, $message, $h)) {
        $mailenv_prevenir = "Votre demande à été envoyé avec succès.";
    } else {
        $mailenv_prevenir = "Votre demande n'a pu être traité correctement suite à un problème technique, contacté l'administrateur.";
    }
     
    ?>
    Voici donc le formaile.. en fait je foudrait qu'il m'affcihe si oui ou non le mail est bien parti !

    mais ca ne fonctionne pas ... les mails partent bien mais pas d'affichage!

    Quelle est l'erreur?

    merci d'avance

    seb

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    Bonjour,

    Il faut afficher ta variable


    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
     
    <?php
    $TO = "*********@hotmail.com";
     
    $h  = "From: " . $TO;
     
    $message = "";
     
    while (list($key, $val) = each($HTTP_POST_VARS)) {
      $message .= "$key : $val\n";
    }
     
    mail($TO, $subject, $message, $h);
     
    if (mail($TO, $subject, $message, $h)) {
        $mailenv_prevenir = "Votre demande à été envoyé avec succès.";
    } else {
        $mailenv_prevenir = "Votre demande n'a pu être traité correctement suite à un problème technique, contacté l'administrateur.";
    }
     echo $mailenv_prevenir ;
    ?>

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    yop

    merci pour t'as réponse ..

    mais il me redirige sur ma page d'acceuil sans m'afficher de message

    snif snif

  4. #4
    Membre averti Avatar de icer
    Inscrit en
    Janvier 2006
    Messages
    332
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 332
    Points : 363
    Points
    363
    Par défaut
    Bonjour,

    Pourquoi envoies-tu ton email en deux fois ?

  5. #5
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 497
    Points : 12 600
    Points
    12 600
    Par défaut
    de plus on n'a pas tout le code.

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    Yop voila le complément d'information...

    Donc j'ai un formulaire sur cette page:

    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
    <link href="style.css" rel="stylesheet" type="text/css" />
    <{include file="header.html" }>
    	<table style="width: 90%;" align="center">
    	<tr>
    	<td><div align="center"><strong>Devenez notre <a href="http://online.freezee.org/annuaire/index.php?do=top-premium">partenaire</a> ! </strong><br />
    	  </div>
    	  <p class="details">&nbsp;</p>
    	  <div style="text-align: center; border: 1px solid #c2c2c2; width: 98%; background: #ffffff; margin:5px auto;">
    	    <p class="details"><noscript>
    <meta http-equiv="Refresh" content="0;URL=http://www.allopass.com/check/error_code.php4?DOC_ID=426882&SITE_ID=155689">
    	    </noscript>
    	    <noscript>
            </noscript>
            <p>
              <script type="text/javascript" language="Javascript" src="http://www.allopass.com/check/chk.php4?IDD=426882&IDS=155689"></script>
              <span class="details"><strong>Merci Beaucoup</strong></span></p>
            <p class="details"><strong>Votre code &agrave; bien &eacute;t&eacute; activ&eacute; ...</strong></p>
            <p class="details">Remplisser le formulaire si dessous, pour finaliser le partenaria ! </p>
            <p class="details">Votre <em>demande sera ensuite trait&eacute;</em>, et mise en place dans <em>les plus bref d&eacute;lais</em> </p>
            <form id="form1" name="form1" method="post" action="formmail.php">
    		<input type=hidden name=subject value=formmail>
              <label>Nom:
                <input type="text" name="realname" size=30> 
              <br />
              <label>E-mail:
              <input type="text" name="email" size=30> 
              <br />
              <label>Url :
              <input type="text" name="title" />
              </label>
              <p>
                <label>Commentaire
                <textarea name="comments"></textarea>
                </label>
              </p>
    		  <br> <input type=submit value=Envoyer> - <input type=reset value=Annuler>
            </form>
            <div id="middle"></div>
            <p align="right" class="details">L'admin &agrave; votre service  </p>
    	  </div>	</td></tr></table>
    <{include file="footer.html" }>
    Et puis j'ai le formmail.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
    <?php
    $TO = "*****@hotmail.com";
     
    $h  = "From: " . $TO;
     
    $message = "";
     
    while (list($key, $val) = each($HTTP_POST_VARS)) {
      $message .= "$key : $val\n";
    }
     
    mail($TO, $subject, $message, $h);
     
    if (mail($TO, $subject, $message, $h)) {
        $mailenv_prevenir = "Votre demande à été envoyé avec succès.";
    } else {
        $mailenv_prevenir = "Votre demande n'a pu être traité correctement suite à un problème technique, contacté l'administrateur.";
    }
     echo $mailenv_prevenir ;
    ?>
    Et puis tant qu'on y est j'essai de mettre un captcha ... voila le fichier qui le génère (trouver dans la faq) ... mais après j'ai pas trop comment faire non plus ... je suis députant

    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
    <?php 
        session_start(); 
     
        $length = 5; // Longueur de la chaîne générée en image 
     
        $string = ''; 
        for($i = 0; $i < $length; $i++)      //Création de la chaine qui sera affichée 
        { 
             $string .= chr(mt_rand(97, 122));    //Récupération aléatoire d'un caractères alphabétique minuscule 
        } 
     
        // Création de la zone image en fonction de la longueur de texte à afficher 
        $image = imagecreatetruecolor(30 * $length, 50); 
     
        // Création du fond de l'image 
        for($x = 0; $x < imagesx($image); ++$x) 
        { 
            for($y = 0; $y < imagesy($image); ++$y) 
            { 
                if (mt_rand(1,5) == 4 ) 
                { 
                    $vred = mt_rand(0, 100); 
                    $vgreen = mt_rand(0, 100); 
                    $vblue = mt_rand(0, 100); 
                } 
                else 
                { 
                    $vred = mt_rand(100, 150); 
                    $vgreen = mt_rand(100, 150); 
                    $vblue = mt_rand(100, 150); 
                } 
     
                // Allocation d'une couleur au fond 
                $color = imagecolorallocate($image, $vred, $vgreen, $vblue); 
     
                // Affichage d'un pixel ayant la couleur du fond 
                imagesetpixel($image, $x, $y, $color); 
     
                // Suppression de la couleur du fond allouée 
                imagecolordeallocate($image, $color); 
            } 
        } 
     
        // Création de la bordure 
        $vred = mt_rand(0, 240); 
        $vgreen = mt_rand(0, 240); 
        $vblue = mt_rand(0, 240); 
     
        // Allocation d'une couleur à la bordure 
        $color = imagecolorallocate($image, $vred, $vgreen, $vblue); 
     
        // Tracé de la bordure 
        imagerectangle($image, 0, 0, imagesx($image)-1 , imagesy($image)-1, $color); 
     
        // Suppression la couleur de la bordure allouée 
        imagecolordeallocate($image, $color); 
     
        // Création du texte 
        for($i = 0; $i < $length; $i++) 
        { 
            $vred = mt_rand(150, 240); 
            $vgreen = mt_rand(150, 240); 
            $vblue = mt_rand(150, 240); 
     
            $size = mt_rand(20, 30); 
            $angle = mt_rand(-10, 20); 
            $x = 13 + (20 * $i); 
            $y = mt_rand(30, imagesy($image) - 10); 
            $color = imagecolorallocate($image, $vred, $vgreen, $vblue); 
            $font = './font/posthuman.ttf'; 
     
            // Dessin du texte 
            imagettftext($image, $size, $angle, $x, $y, $color, $font, $string[$i]); 
     
            // Suppression de la couleur du texte allouée 
            imagecolordeallocate($image, $color); 
        } 
     
        //Enregistrement en session du captcha 
        $_SESSION['captcha-text'] = $string; 
     
        // Création de l'image complète au format PNG 
        header("Content-type: image/png");      
     
        //Envoi de l'image 
        imagepng($image);                     
    ?>
    Ps: Peut-être que ca peut vous aider ... j'utilise ces pages sur un annuaire freeglobes .

    Merci d'avance
    seb

  7. #7
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    (re)bonjour

    Pour l'envoi de ton mail, je ne comprends pas comment il te renvoi sur une autre page parce que sur la page formmail.php je ne vois pas de redirection. Sinon si tu veux afficher cette variable sur une autre page enregistre là dans une variable de session :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    session_start();//a mettre tout au début du code sur chaque page où tu vas utiliser la session
     
    $_SESSION['mailenv'] = $mailenv_prevenir;// on place la valeur de la variable dans la session
    Puis dans une autre page (pour l'affichage) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    session_start();
     
    echo $_SESSION['mailenv'];
    De plus comme le dit icer pourquoi envoi tu le mail 2 fois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //A ENLEVER :
    mail($TO, $subject, $message, $h);
     
    // A LAISSER : 
    if (mail($TO, $subject, $message, $h)) {
        $mailenv_prevenir = "Votre demande à été envoyé avec succès.";
    } else {
        $mailenv_prevenir = "Votre demande n'a pu être traité correctement suite à un problème technique, contacté l'administrateur.";
    }


    Pour le captcha tu places ce code dans un fichier appelé par exemple image.php et dans la formulaire tu l'appelles ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="image.php" alt="">

  8. #8
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    Yop

    merci pour tes réponses ...

    Ca va déjà mieux ... mais réside encore un petit problème.
    Le captcha affiche bien quelque chose mais il n'y a ni lettre ni chiffre dedans et comment comparer c'est chiffre et lettre avant d'envoyer ?

    encore merci

    seb

    EDIT: Heuu en fait ça sert a quelque chose de mettre un captcha ? car on ne peut accéder a ma page qu'après avoir introduit un code allopass ...

  9. #9
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Le captcha ne t'affiche rien ?
    C'est à dire, il ne t'affiche une croix rouge ? une image vide ??? As tu modifié le code de la faq ?


    Comment comparer les infos
    Je t'ai donné l'idée sur l'autre discussion, revoici le code
    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
    if (isset($_POST['submit'])) {
     
    // pour vérifier que le captcha est correct
    	if(strtolower($_SERVER['REQUEST_METHOD']) == 'post') {
    		if (empty($_POST['captcha'])) {
    		    $err_vide[] = "Le champ de saisie nommé <em>'Captcha'</em> est vide, ce champ est à remplir obligatoirement.\n";
    		} else {
    			if (isset($_SESSION['captcha-text']) && $_SESSION['captcha-text'] == $_POST['captcha']) {
    			} else {
    			    $err_vide[] = "L'information saisie dans le champ de saisie nommé <em>'Captcha'</em> est fausse, elle ne correspond pas au texte affiché dans l'image.\n";
    			}
    		}
    	}
     
    }
     
     
     
    // vérification de l'exactitude des données sinon affichage du formulaire
     
    if (isset($_POST['submit']) and (empty($err_vide))) {
     
    // envoi du mail
     
    } else {
     
    // affichage du formulaire
     
    }
    A noter (je ne sais pas si je te l'ai dit) qu'il faut aussi placer la valeur du captcha dans une variable de session pour pouvoir la récupérer dans ton formulaire.


    Le captcha sert t'il dans ton cas ?
    Ca dépend tu veux le placer sur quelle page ? L'utilisateur aura t'il déjà passé la page qui demande le code allopass ?

  10. #10
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 76
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par 12monkeys Voir le message
    Le captcha ne t'affiche rien ?
    C'est à dire, il ne t'affiche une croix rouge ? une image vide ??? As tu modifié le code de la faq ?
    l'image est vide pas de croix rouge et j'ai modifié le captcha de la faq



    Citation Envoyé par 12monkeys Voir le message
    Le captcha sert t'il dans ton cas ?
    Ca dépend tu veux le placer sur quelle page ? L'utilisateur aura t'il déjà passé la page qui demande le code allopass ?
    Oui le formulaire sera après le code allopass ...il aura déjà du l'enter!

  11. #11
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Citation Envoyé par degseb Voir le message
    l'image est vide pas de croix rouge et j'ai modifié le captcha de la faq
    Tu n'aurais pas modifié les couleurs d'affichage ? Par exemple que le texte ait la même couleur que le fond ?


    Oui le formulaire sera après le code allopass ...il aura déjà du l'enter!
    Alors le bot ne devrait normalement même pas passer cet obstacle... Donc ton captcha ne serait pas forcément nécessaire...

Discussions similaires

  1. Formulaire : confirmation d'envoi via une fenêtre ?
    Par Harlock999 dans le forum Langage
    Réponses: 1
    Dernier message: 17/12/2012, 21h29
  2. confirmation avant envoi d'un formulaire
    Par sab_etudianteBTS dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 30/03/2008, 12h08
  3. Réponses: 7
    Dernier message: 11/02/2006, 16h32
  4. Confirmation d'envoi de mail Via Access
    Par Hamdi dans le forum Access
    Réponses: 2
    Dernier message: 01/02/2006, 14h14
  5. [Sécurité] Confirmation d'envoie des données
    Par ghyosmik dans le forum Langage
    Réponses: 7
    Dernier message: 21/11/2005, 15h05

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