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 :

Envoi de mails


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Par défaut Envoi de mails
    Bonjour,

    J'ai un problème d'envoi de mails en fonction du destinataire($d) dans <option>.

    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
    <?php
    session_start();
    $bdd = new PDO('mysql:host=localhost;dbname=', '', '');
    if(isset($_SESSION['id']) AND !empty($_SESSION['id'])) {
       if(isset($_POST['envoi_message'])) {
          // Le message
    $message = "Vous venez de recevoir 1 nouveau message privé sur FriendsNetwork.";
     
    // Dans le cas où nos lignes comportent plus de 70 caractères, nous les coupons en utilisant wordwrap()
    $message = wordwrap($message, 70, "\r\n");
     
    // Envoi du mail
    mail($d['mail'], 'Nouveau Message - FriendsNetwork', $message);
          if(isset($_POST['destinataire'],$_POST['message'],$_POST['objet'],$_POST['heure']) AND !empty($_POST['destinataire']) AND !empty($_POST['message']) AND !empty($_POST['objet']) AND !empty($_POST['heure'])) {
             $destinataire = htmlspecialchars($_POST['destinataire']);
             $message = htmlspecialchars($_POST['message']);
             $objet = htmlspecialchars($_POST['objet']);
             $heure = htmlspecialchars($_POST['heure']);
             $id_destinataire = $bdd->prepare('SELECT id FROM membres WHERE pseudo = ?');
             $id_destinataire->execute(array($destinataire));
             $dest_exist = $id_destinataire->rowCount();
             if($dest_exist == 1) {
                $id_destinataire = $id_destinataire->fetch();
                $id_destinataire = $id_destinataire['id'];
                $ins = $bdd->prepare('INSERT INTO messages(id_expediteur,id_destinataire,message,objet,heure) VALUES (?,?,?,?,?)');
                $ins->execute(array($_SESSION['id'],$id_destinataire,$message,$objet,$heure));
                }
                $error = "Votre message a bien été envoyé !";
             } else {
                $error = "Cet utilisateur n'existe pas...";
             }
          } else {
             $error = "Veuillez compléter tous les champs";
          }
       $destinataires = $bdd->query('SELECT pseudo, mail FROM membres ORDER BY pseudo');
       if(isset($_GET['r']) AND !empty($_GET['r'])) {
          $r = htmlspecialchars($_GET['r']);
       }
       if(isset($_GET['o']) AND !empty($_GET['o'])) {
          $o = urldecode($_GET['o']);
          $o = htmlspecialchars($_GET['o']);
          if(substr($o,0,3) != 'RE:') {
             $o = "RE:".$o;
          }
       }
       $date = date("d-m-Y");
       $heure = date("H:i");
       date_default_timezone_set('Europe/Paris');
       ?>
       <!DOCTYPE html>
       <html>
       <head>
          <title>Envoi de message - FriendsNetwork</title>
          <meta charset="utf-8" />
    <link rel="stylesheet" type="text/css" href="msg.css" />
    <link rel="stylesheet" type="text/css" href="actu.css" />
    <?php include("search.php"); ?>
    <div id="menu" style="margin-left: 570px"><ul>
             <li>
                    <a class="mainTopNav__item" href="/actu.php">Actu</a>
                </li>
                 <li>
                    <a class="mainTopNav__item" href="/profil.php?id=<?php echo $_SESSION['id']; ?>&pseudo=<?php echo $_SESSION['pseudo']; ?>">Moi</a>
                </li>
                <li>
                   <div id="menumessage"><a class="mainTopNav__item" href="/reception.php">Messages</a></div>
                </li>
                </ul>
             </div>
             <center>
                <div id="name">
    <div id="user">
        <a href="/profil.php?id=<?php echo $_SESSION['id']; ?>&pseudo=<?php echo $_SESSION['pseudo']; ?>"><FONT color="black"><h3><?php echo $_SESSION['pseudo']; ?></h3></FONT></a>
        <div id="separating" style="border-top-width: 2px; border-top-style: solid; border-top-color: rgb(190, 190, 190); margin-bottom: 10px;"></div>
        <a href="/deconnexion.php"><FONT color="black">Déconnexion</FONT></a>
    </div>
        </center>
       </head>
       <body>
          <center>
             <br /><br /><br /><br />
             <div id="menumsg"><a href="reception.php">Boîte de réception</a></div>
             <br /><br />
          <form method="POST">
             <label>Destinataire:</label>
             <select name="destinataire">
                <?php while($d = $destinataires->fetch()) { ?>
                <option><?= $d['pseudo'] ?> <p hidden class="hidden"> &nbsp;<?php $d['mail'] ?> </p></option>
                <?php } ?>
             </select>
             <br /><br />
             <label>Objet:</label>
             <input type="text" name="objet" <?php if(isset($o)) { echo 'value="'.$o.'"'; } ?> />
             <br /><br />
             <label>Heure :</label>
             <input type="text" name="heure" readonly="readonly" value="<?php Print("Le $date Ã* $heure"); ?>"><br /><br />
             <label>Message :</label><br /><br />
             <textarea placeholder="Votre message" name="message"></textarea>
             <br /><br />
             <input type="submit" value="Envoyer" name="envoi_message" />
             <br /><br />
             <?php if(isset($error)) { echo '<span style="color:red">'.$error.'</span>'; } ?>
          </form>
       </center>
       </body>
       </html>
    <?php
    }
    ?>
    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ca serait gentil de nous décrire le problème.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Par défaut Excusez moi
    Oh je suis bête j'avais oublié de le noter .

    Le voici :

    Notice: Undefined variable: d in /var/www/friendsnetwork/envoi.php on line 13

  4. #4
    Invité
    Invité(e)
    Par défaut
    Le message est clair.

    Ligne 13 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mail($d['mail'], 'Nouveau Message - FriendsNetwork', $message);
    Où est défini $d['mail'] ?

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2016
    Messages : 173
    Par défaut
    Ok mais $d= (pseudo, mail FROM Membres ect...) donc cela devrait marcher.

  6. #6
    Invité
    Invité(e)
    Par défaut
    ??

    Et de quel chapeau tu sors ce lapin ??

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1/ quel problème précisément ?

    2/ utilise phpMailer.

Discussions similaires

  1. Problème d'envoie de mail par SMTP
    Par yass dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/09/2008, 17h45
  2. Réponses: 3
    Dernier message: 12/02/2007, 19h39
  3. Réponses: 3
    Dernier message: 11/10/2006, 11h50
  4. Problème avec envoi de mail et fichier joint
    Par LFC dans le forum Modules
    Réponses: 5
    Dernier message: 20/05/2006, 21h59

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