8768 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'ai un problème sur lequel je bloque, j'ai fais un formulaire, jusque la tout va bien, mais j'ai un souci pour récupérer une chaine de valeur dans plusieurs des champs. J'utilise la création de champs supplémentaires gérer en js.

Lorsque j'utilise ceci, je récupère bien la ou les valeurs

if (isset ($_POST['test'])) {
    foreach($_POST['dimensions'] as $value){
    echo $value.' - ';
    }
  }


J'ai structuré mon message envoyé par mail comme ceci :
$e_content = "
Societe : $societe  \r
Nom : $nom \r
Prenom : $prenom \r
Naissance : $naissance \r
Adresse : $adresse \r
Infos : $TTT
"


Mais voilà, lorsque je fais
foreach ($_POST['dimensions'] as $value) { $TTT = $value.' - '; }  


Si j'ai plusieurs champs rempli, j'ai en retour uniquement la dernière valeur.

Je sais que l'on ne peu pas utiliser un echo dans pour définir une valeur et je sége total...

Quelqu'un pourrait m'éclairer ?

Merci Smiley cligne
tu ecrase la valeur de TTT , a chaque fois tu lui dit TTT = QUELQUECHOSE, si TTT est EGALE il sera pas concaténer, tu dois préciser que TTT et égale à lui même + ta valeur, deux possibilités
soit cela
foreach ($_POST['dimensions'] as $value) { $TTT =  $TTT  + $value.' - '; } 


soit cela
foreach ($_POST['dimensions'] as $value) { $TTT += $value.' - '; } 

Modifié par JENCAL (19 Jun 2015 - 11:02)
Merci pour ton aide.

J'ai essayé avec ta solution malheureusement cela ne fonctionne pas.

Dans mes champs dimensions j'ai 3 valeurs proposées :

- 10x15cm
- 90x190cm
- Autre

En utilisant ta solution cela me donne une addition. Je cherche à avoir un résultat, en fonction du nombre de ligne créées par la personne qui rempli le formulaire, qui pourrait ressembler à ceci par exemples :

Dimensions : 10x15cm - 90x190cm - Autres - 10x15cm - Autres
bonjour,

je pense qu'il faudrait plutôt utilisé un .= à la place du +=
(je parle en me basant sur le code de JENCAL)

@+
Modifié par sanchodellavega (19 Jun 2015 - 14:06)
Autre solution, on implode :
$dimensions = implode(' - ', $_POST['dimensions']);

Modifié par Raphi (19 Jun 2015 - 14:21)
J'ai utilisé ceci

foreach ($_POST['dimension'] as $value) { $dimension .=  $value.' / '; } 


et sa fonctionne parfaitement, un grand merci pour votre aide Smiley biggrin
@Johnn77 :
Sauf que là tu dois gérer "si c'est la dernière itération => ne pas afficher le symbole /".
Alors qu'implode le gère tout seul. Smiley smile
Modifié par Raphi (19 Jun 2015 - 16:03)
Oui exact Smiley cligne

Par contre, je veux mettre les intitulés en gras dans mon email mais je n'y arrive pas

$content =
"Societe : $societe \r
Nom : $nom \r
Prenom : $prenom \r
Adresse : $adresse \r
Code postal : $cp \r
Ville : $ville \r
Telephone : $telephone \r
Email : $email \r
Secteur d'activite : $secteur \r\n"