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 :)
A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Aussi oui !
0
KrondaliX Messages postés 382 Date d'inscription   Statut Membre Dernière intervention   132
 
un grand merci :)
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Salut !

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