Code php if foreach dans une variable php

Résolu
Salut les codeurs du net ! Voilà je suis face à un problème, j'ai fait un formulaire php qui doit s'envoyer par email.

Je suis bloqué sur une variable voici mon code:

<?
if ( isset($_POST['send']) ) {
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$jour_sem = $_POST['jour_sem'];
  if(!empty($_POST['jour_sem'])) {
    foreach($_POST['jour_sem'] as $jour_sem) {
            echo ' '.$jour_sem;
    }
}

$message = '
  <table style="width:400px;">
    <tr>
      <td colspan="2" style="font-size:24px;font-weight:bold;text-align:center;">Informations de votre inscription chez IFHIS</td>
    </tr>
    <tr>
      <td>Nom :</td>
      <td style="color:#000ace;">'.$nom.'</td>
    </tr>
    <tr>
      <td>Prénom :</td>
      <td style="color:#000ace;">'.$prenom.'</td>
    </tr>
    <tr>
      <td>Disponible les :</td>
      <td style="color:#000ace;">'.$jour_sem.'</td>
    </tr>';

echo "$message";
}


J'aimerais implémenter le code if dans la variable $message où se trouve '.$jour_sem.' sachant que jour_sem sont des checkbox du côté html.

Donc le if en haut de page fonctionne mais en bas dans la variable $message il me sort un Array et je n'arrive pas à mettre du code php dans la variable $message sans devoir sortir (fermer la variable). Votre aide serait la bienvenue :)

--
By KrondaliX

2 réponses

  1. ou avec une seule boucle foreach:
    <?php
    //mets toujours le tag php complet
    if ( isset($_POST['send']) ) {
    $nom = $_POST['nom'];
    $prenom = $_POST['prenom'];
    //$jour_sem = $_POST['jour_sem']; //celle la elle ne sert pas puisque tu utilises cette variable plus bas avec une autre valeur
    $liste_jour_sem=""; //init variable dans laquele on va empiler les jours
      if(!empty($_POST['jour_sem'])) {
        foreach($_POST['jour_sem'] as $jour_sem) {
                echo ' '.$jour_sem;
    			$liste_jour_sem.=' '.$jour_sem.' ';
        }
    }
    
    $message = '
      <table style="width:400px;">
        <tr>
          <td colspan="2" style="font-size:24px;font-weight:bold;text-align:center;">Informations de votre inscription chez IFHIS</td>
        </tr>
        <tr>
          <td>Nom :</td>
          <td style="color:#000ace;">'.$nom.'</td>
        </tr>
        <tr>
          <td>Prénom :</td>
          <td style="color:#000ace;">'.$prenom.'</td>
        </tr>
        <tr>
          <td>Disponible les :</td>
          <td style="color:#000ace;">'.$liste_jour_sem.'</td>
        </tr>';
    
    echo $message;
    }
    1. Aussi oui !
    2. un grand merci :)
  2. Salut !

    Refais ton foreach une deuxieme fois, non ?
    1. J'ai essayé mais si je le met dans la variable $message il me dit syntax error unexpected T_IF on line 28 (la ligne qui contiendrait le if. Par conséquent je suis obligé de terminer la variable $message = 'tout le tralala' pour pouvoir le mettre. et ça m'arrange pas.
    2. $message = 'début du message';
      foreach($tab as $element)
      {
      $message .= element;
      }
      $message .= 'fin du message';