Remplacement de each par foreach
Résolu
Bernardl91
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
Bernardl91 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bernardl91 Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je ne connais un peu HTML et JavaScript mais absolument rien au PHP. J'ai trouvé sur Internet un petit code qui permet d'envoyer le contenu d'un formulaire par e-mail et qui m'est bien utile. Le voici :
<?php
$TO = "contact@monsite.net";
$h = "From: " . $TO;
$subject = "Avis sur le site";
$message = "";
while (list($key, $val) = each($_POST)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location:https://www.monsite.net;
?>
Il fonctionne très bien mais utilise la fonction obsolète "each". J'ai trouvé sur votre forum une réponse qui donnerait cela :
<?php
$TO = "contact@monsite.net";
$h = "From: " . $TO;
$subject = "Avis sur le site";
$message = "";
foreach($_POST as $index=>$val)
{
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location:https://www.monsite.net;
exit;
?>
Malheureusement elle ne permet de recevoir que le contenu de $val. J'ai fait plusieurs essais mais, vue mon incompétence, je n'arrive pas à paramétrer la fonction "foreach" correctement. Si quelqu'un pouvait m'aider ce serait très sympa ! Merci d'avance.
Je ne connais un peu HTML et JavaScript mais absolument rien au PHP. J'ai trouvé sur Internet un petit code qui permet d'envoyer le contenu d'un formulaire par e-mail et qui m'est bien utile. Le voici :
<?php
$TO = "contact@monsite.net";
$h = "From: " . $TO;
$subject = "Avis sur le site";
$message = "";
while (list($key, $val) = each($_POST)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location:https://www.monsite.net;
?>
Il fonctionne très bien mais utilise la fonction obsolète "each". J'ai trouvé sur votre forum une réponse qui donnerait cela :
<?php
$TO = "contact@monsite.net";
$h = "From: " . $TO;
$subject = "Avis sur le site";
$message = "";
foreach($_POST as $index=>$val)
{
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location:https://www.monsite.net;
exit;
?>
Malheureusement elle ne permet de recevoir que le contenu de $val. J'ai fait plusieurs essais mais, vue mon incompétence, je n'arrive pas à paramétrer la fonction "foreach" correctement. Si quelqu'un pouvait m'aider ce serait très sympa ! Merci d'avance.
A voir également:
- Remplacement de each par foreach
- Remplacement coco - Accueil - Réseaux sociaux
- Coco.fr remplacement - Accueil - Réseaux sociaux
- Remplacer disque dur par ssd - Guide
- Uptobox remplacement - Accueil - Services en ligne
- Remplacement carte graphique - Guide
1 réponse
Bonjour,
Le problème vient du fait que dans le foreach, tu déclares $index=>$val, mais ensuite, tu utilises $key.
$index et $key devraient être la même variable :
Xavier
Le problème vient du fait que dans le foreach, tu déclares $index=>$val, mais ensuite, tu utilises $key.
$index et $key devraient être la même variable :
foreach($_POST as $key => $val) { $message .= "$key : $val\n"; }
Xavier
Bernardl91
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
Génial ! Ça marche ! Merci beaucoup.