Code php if foreach dans une variable php

Résolu
KrondaliX Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   -  
KrondaliX Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   -
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. Alain_42 Messages postés 5413 Statut Membre 904
     
    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
    1. jeremy.s Messages postés 1248 Statut Membre 79
       
      Aussi oui !
      0
    2. KrondaliX Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   143
       
      un grand merci :)
      0
  2. jeremy.s Messages postés 1248 Statut Membre 79
     
    Salut !

    Refais ton foreach une deuxieme fois, non ?
    0
    1. KrondaliX Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   143
       
      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.
      0
    2. jeremy.s Messages postés 1248 Statut Membre 79
       
      $message = 'début du message';
      foreach($tab as $element)
      {
      $message .= element;
      }
      $message .= 'fin du message';
      0