Code php if foreach dans une variable php

Résolu/Fermé
KrondaliX Messages postés 382 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 1 mai 2022 - 19 juin 2013 à 17:26
KrondaliX Messages postés 382 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 1 mai 2022 - 6 août 2013 à 08:31
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 :)

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
19 juin 2013 à 22:32
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
20 juin 2013 à 01:31
Aussi oui !
0
KrondaliX Messages postés 382 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 1 mai 2022 131
6 août 2013 à 08:31
un grand merci :)
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
19 juin 2013 à 17:43
Salut !

Refais ton foreach une deuxieme fois, non ?
0
KrondaliX Messages postés 382 Date d'inscription mercredi 19 juin 2013 Statut Membre Dernière intervention 1 mai 2022 131
19 juin 2013 à 17:50
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 lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
19 juin 2013 à 18:02
$message = 'début du message';
foreach($tab as $element)
{
$message .= element;
}
$message .= 'fin du message';
0