Erreur envoi formulaire mail PhP
Résolu/Fermé
NeoIshiara
Messages postés
12
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
19 mars 2018
-
19 juin 2013 à 11:22
NeoIshiara Messages postés 12 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 19 mars 2018 - 19 juin 2013 à 14:22
NeoIshiara Messages postés 12 Date d'inscription mardi 4 juin 2013 Statut Membre Dernière intervention 19 mars 2018 - 19 juin 2013 à 14:22
A voir également:
- Erreur envoi formulaire mail PhP
- Erreur 0x80070643 - Guide
- Yahoo mail - Guide
- Programmer envoi mail gmail - Guide
- Publipostage mail - Guide
- Annuler envoi mail gmail - Guide
2 réponses
Reivax962
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
19 juin 2013 à 14:17
19 juin 2013 à 14:17
Bonjour,
Reprenons les problèmes point à point.
1) Warning: trim() expects parameter 1 to be string, array given
Ton formulaire HTML définit la champ « interets » comme étant un tableau.
Or dans ta boucle, tu agis comme si toutes les variables de _POST étaient des chaînes de caractères. Il faut différencier.
Tu peux corriger en testant le type de données, avec les fonctions is_array et is_string.
Par exemple :
Du coup, la ligne suivante (« $interets = $_POST['interets']; ») peut être supprimée.
2 et 3) Undefined index: email
Le champ EMAIL n'est pas défini dans ton formulaire... Donc forcément, quand tu appelles $_POST['email'] dans la page PHP, il dit qu'il ne connait pas.
Tu devrais soit supprimer les références à $_POST['email'] dans le php, soit rajouter un champ <input type='text' (ou 'hidden') name='email'> dans ton HTML.
Xavier
Reprenons les problèmes point à point.
1) Warning: trim() expects parameter 1 to be string, array given
Ton formulaire HTML définit la champ « interets » comme étant un tableau.
Or dans ta boucle, tu agis comme si toutes les variables de _POST étaient des chaînes de caractères. Il faut différencier.
Tu peux corriger en testant le type de données, avec les fonctions is_array et is_string.
Par exemple :
foreach($_POST as $index => $valeur) { if (is_string($valeur)) $$index = stripslashes(trim($valeur)); else if (is_array($valeur)) $$index = $valeur; }
Du coup, la ligne suivante (« $interets = $_POST['interets']; ») peut être supprimée.
2 et 3) Undefined index: email
Le champ EMAIL n'est pas défini dans ton formulaire... Donc forcément, quand tu appelles $_POST['email'] dans la page PHP, il dit qu'il ne connait pas.
Tu devrais soit supprimer les références à $_POST['email'] dans le php, soit rajouter un champ <input type='text' (ou 'hidden') name='email'> dans ton HTML.
Xavier
NeoIshiara
Messages postés
12
Date d'inscription
mardi 4 juin 2013
Statut
Membre
Dernière intervention
19 mars 2018
Modifié par NeoIshiara le 19/06/2013 à 14:32
Modifié par NeoIshiara le 19/06/2013 à 14:32
D'accord, merci bien, je vais de suite essayer ça :)
Edit : Parfait, celà fonctionne à merveille ! Un grand merci à vous ! :D
Edit : Parfait, celà fonctionne à merveille ! Un grand merci à vous ! :D