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 :

[PHP-JS] Problème avec un script php d'un formulaire


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [PHP-JS] Problème avec un script php d'un formulaire
    Bonjour à tous !

    donc voilà ça fait quelques heures que je me prends la tête en vain sur un script php, donc j'espere que vous pourrez m'aider

    alors voilà le script :
    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    <?php
    $listeDesMails = array ( 
      "Dark DJ" => "djere86@hotmail.com",  );
    
    function definitionAdresse()
      {
      global $listeDesMails;
      $i=0;
      foreach ($listeDesMails as $prenom => $adresseMail)
        {
        ++$i;
        if ($_POST['choixMail'] == $i)
          {
          envoiMail($prenom, $adresseMail);
          }
        }
      if ($_POST['choixMail'] == count($listeDesMails)+1)
        {
        envoiMail("tout le monde", join(', ',$listeDesMails));
        }
      }
    
    function envoiMail($nomContact, $adresse)
      {
      if (@mail($adresse, "Mail d'Achat", $_POST['def'], $_POST['champTexte'], $_POST['ma'], $_POST['mdp'], $_POST['pseudo']))
        {
        ?>
        Votre mail a bien été envoyé à <?=$nomContact;?> (<?=$adresse;?>).
        <?
        }
      else
        {
        ?>Suite à une erreur, votre mail n'a pu être envoyé. Veuillez recommencer.<?
        }
      ?><br>Voici le contenu du mail: <br><?=$_POST['pseudo'];?><br><?=$_POST['mdp'];?><br><?=$_POST['champTexte'];?><br><?=$_POST['def'];?><?
      }
    
    function optionsChoixMail()
      {
      global $listeDesMails;
      $i = 0;
      ?><option value="0" selected><font size="2" face="Verdana">Choisissez un destinataire...</font></option><?
      echo "\n";
      foreach ($listeDesMails as $prenom => $adresseMail)
        {
        ?><option value="<?=++$i;?>"><?=$prenom;?></option><?
        echo "\n";
        }
      ?>
      <option value="<?=++$i;?>">Tout le monde</option><?
      echo "\n";
      }
    
    function afficheFormulaire($erreur = null)
      {
      ?>
      <form method="post" action="<?=$_SERVER['file:///C|/WINDOWS/TEMP/PHP_SELF']?>">
        <input type="hidden" name="envoi" value="ok">
        <font size="2" face="Verdana">Votre pseudo</font><br><textarea name="pseudo" cols="75" rows="1"><?=isset($_POST['pseudo'])?$_POST['pseudo']:"
    ";?></textarea><br>
        <font size="2" face="Verdana">Votre mot de passe</font><br><textarea name="mdp" cols="75" rows="1"><?=isset($_POST['mdp'])?$_POST['mdp']:"
    ";?></textarea><br>
        <font size="2" face="Verdana">Votre adresse email</font><br><textarea name="ma" cols="75" rows="1"><?=isset($_POST['ma'])?$_POST['ma']:"
    ";?></textarea><br>
        <font size="2" face="Verdana">Vos achats de la semaine</font><br><font size="1" face="Verdana">(n'oubliez pas de remplacer les xx par les bonnes informations)</font><br><textarea name="champTexte" cols="75" rows="10"><?=isset($_POST['champTexte'])?$_POST['champTexte']:"
    ";?>
    Achat de la semaine xx
    Je possède xx CI
    J'achète :
    </textarea><br>
        <font size="2" face="Verdana">Définissez votre stratégie de Défense de la semaine</font><br><font size="1" face="Verdana">par défaut une stratégie standart sera adoptée</font><br><textarea name="def" cols="75" rows="5"><?=isset($_POST['def'])?$_POST['def']:"
    ";?>
    Stratégie de défense standart</textarea><br>
    
        <?=$erreur == "pasDeMail" ? "<b>Vous devez choisir un mail</b>" : "" ;?>
        <select name="choixMail">
          <?=optionsChoixMail();?>
        </select>
        <input type="submit" name="Submit" value="Envoyer">
      </form>
      <?php
      }
    
    function affichage()
      {
      if (isset($_POST['envoi']) && ($_POST['envoi'] == "ok"))
        {
        if ($_POST['choixMail'] == 0)
          {
          afficheFormulaire("pasDeMail");
          } 
        else 
          {
          definitionAdresse();
          }
        }
      else
        {
        afficheFormulaire();
        }
      }
    ?>
    <html>
    <head>
    <title>Formulaire multimail</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body bgcolor="#FFFFFF">
    <?=affichage();?>
    </body>
    </html>
    lorsque je remplis le formulaire et que je l'envoi, j'ai la page d'erreur suivante :
    Suite à une erreur, votre mail n'a pu être envoyé. Veuillez recommencer
    ce qui est bizarre c'est que sur cet autre script, qui est exactement le même hormis la partie en gras que j'ai modifié, cela marche :
    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
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    <?php
    $listeDesMails = array ( 
      "Dark DJ" => "djere86@hotmail.com",  );
    
    function definitionAdresse()
      {
      global $listeDesMails;
      $i=0;
      foreach ($listeDesMails as $prenom => $adresseMail)
        {
        ++$i;
        if ($_POST['choixMail'] == $i)
          {
          envoiMail($prenom, $adresseMail);
          }
        }
      if ($_POST['choixMail'] == count($listeDesMails)+1)
        {
        envoiMail("tout le monde", join(', ',$listeDesMails));
        }
      }
    
    function envoiMail($nomContact, $adresse)
      {
      if (@mail($adresse, "Mail d'Achat", $_POST['def'], $_POST['champTexte']))
        {
        ?>
        Votre mail a bien été envoyé à <?=$nomContact;?> (<?=$adresse;?>).
        <?
        }
      else
        {
        ?>Suite à une erreur, votre mail n'a pu être envoyé. Veuillez recommencer.<?
        }
      ?><br>Voici le contenu du mail: <br><?=$_POST['champTexte'];?><br><?=$_POST['def'];?><?  
        }
    
    function optionsChoixMail()
      {
      global $listeDesMails;
      $i = 0;
      ?><option value="0" selected><font size="2" face="Verdana">Choisissez un destinataire...</font></option><?
      echo "\n";
      foreach ($listeDesMails as $prenom => $adresseMail)
        {
        ?><option value="<?=++$i;?>"><?=$prenom;?></option><?
        echo "\n";
        }
      ?>
      <option value="<?=++$i;?>">Tout le monde</option><?
      echo "\n";
      }
    
    function afficheFormulaire($erreur = null)
      {
      ?>
      <form method="post" action="<?=$_SERVER['file:///C|/WINDOWS/TEMP/PHP_SELF']?>">
        <input type="hidden" name="envoi" value="ok">
        <font size="2" face="Verdana">Votre pseudo</font><br><textarea name="pseudo" cols="75" rows="1"><?=isset($_POST['pseudo'])?$_POST['pseudo']:"
    ";?></textarea><br>
        <font size="2" face="Verdana">Votre mot de passe</font><br><textarea name="mdp" cols="75" rows="1"><?=isset($_POST['mdp'])?$_POST['mdp']:"
    ";?></textarea><br>
        <font size="2" face="Verdana">Votre adresse email</font><br><textarea name="ma" cols="75" rows="1"><?=isset($_POST['ma'])?$_POST['ma']:"
    ";?></textarea><br>
        <font size="2" face="Verdana">Vos achats de la semaine</font><br><font size="1" face="Verdana">(n'oubliez pas de remplacer les xx par les bonnes informations)</font><br><textarea name="champTexte" cols="75" rows="10"><?=isset($_POST['champTexte'])?$_POST['champTexte']:"
    ";?>
    Achat de la semaine xx
    Je possède xx CI
    J'achète :
    </textarea><br>
        <font size="2" face="Verdana">Définissez votre stratégie de Défense de la semaine</font><br><font size="1" face="Verdana">par défaut une stratégie standart sera adoptée</font><br><textarea name="def" cols="75" rows="5"><?=isset($_POST['def'])?$_POST['def']:"
    ";?>
    Stratégie de défense standart</textarea><br>
    
        <?=$erreur == "pasDeMail" ? "<b>Vous devez choisir un mail</b>" : "" ;?>
        <select name="choixMail">
          <?=optionsChoixMail();?>
        </select>
        <input type="submit" name="Submit" value="Envoyer">
      </form>
      <?php
      }
    
    function affichage()
      {
      if (isset($_POST['envoi']) && ($_POST['envoi'] == "ok"))
        {
        if ($_POST['choixMail'] == 0)
          {
          afficheFormulaire("pasDeMail");
          } 
        else 
          {
          definitionAdresse();
          }
        }
      else
        {
        afficheFormulaire();
        }
      }
    ?>
    <html>
    <head>
    <title>Formulaire multimail</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body bgcolor="#FFFFFF">
    <?=affichage();?>
    </body>
    </html>
    quel est le pb ? pour résumer : lorsque je lui demande de m'envoyer deux champs ça marche, mais pas pour +

  2. #2
    Invité
    Invité(e)
    Par défaut
    Es-tu sur de ton utilisation de la fonction mail ? car la documentation officielle n'indique pas autant de paramètres : http://fr.php.net/manual/fr/function.mail.php

    Je t'invite à momentanément enlever l'inhibiteur (@) de ta fonction mail pour avoir le détail de l'erreur.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    normal, c'est un formulaire multi destinataire qui te permet de choisir le destinataire parmis une liste prédéfinie

    edit : je viens de faire ce que tu m'as dit mais le script a anticipé le pb :

    Suite à une erreur, votre mail n'a pu être envoyé. Veuillez recommencer.
    Voici le contenu du mail:
    hgfhfh
    fhfhfh
    Achat de la semaine xx Je possède xx CI J'achète :
    Stratégie de défense standart

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Dark DJ
    normal, c'est un formulaire multi destinataire qui te permet de choisir le destinataire parmis une liste prédéfinie
    Je ne vois pas le rapport avec le fait que ta syntaxe de la fonction mail est différente de celle décrite dans le manuel..

Discussions similaires

  1. Problème avec mon script php
    Par michou2008 dans le forum Autres langages pour le Web
    Réponses: 0
    Dernier message: 04/05/2014, 01h44
  2. problème avec un script javascript en php
    Par le novice2 dans le forum Langage
    Réponses: 4
    Dernier message: 28/08/2008, 15h38
  3. [PHP-JS] problème avec mon script de connexion
    Par agencep dans le forum Langage
    Réponses: 5
    Dernier message: 31/01/2008, 17h08
  4. [PHP-JS] imprimer avec un script php
    Par eon-of-the-scorn dans le forum Langage
    Réponses: 6
    Dernier message: 28/07/2006, 14h46
  5. [PHP-JS] Problème accents dans script PHP
    Par zigor dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2006, 18h45

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