Générer fichier csv à partir des données de formulaire à la volée puis l'envoyer par courriel à l'adresse
J'ai un formulaire que les utilisateurs sont en mesure de remplir et que vous voulez être en mesure de générer un fichier Excel et de le remplir avec les données de la forme. Ensuite, je veux qu'il m'envoyer le fichier avec les données complètes. Comment cela peut-il être fait?
C'est actuellement la génération de la e-mail:
$body = "You have a new member account application from the website, please see the details below:
\n
Membership Type: $group1_field\n\n
Contact Details\n
Organisation: $member_organ_field\n
Address: $member_address_field\n
Postcode: $member_post_field\n
Tel: $member_tel_field\n
Fax: $member_fax_field\n
Email address: $member_email_field\n
Website: $member_website_field\n\n
Contacts \n
Member 1 \n
Name: $member1_name1_field\n
Position: $member1_position1_field\n
Direct Email: $member1_email1_field\n
Direct Tel: $member1_tel1_field\n\n
Member 2 \n
Name: $member1_name2_field\n
Position: $member1_position2_field\n
Direct Email: $member1_email2_field\n\n
Member 3 \n
Name: $member1_name3_field\n
Position: $member1_position3_field\n
Direct Email: $member1_email3_field\n\n
Type Of Organisation: ".$checkbox1results."\n
Type Of Activity: ".$checkbox2results."$member3_other_field\n\n
Summary Description \n
$member_summary_field \n\n
Company Information \n
Total no. of employees (Welsh site): $member4_total_field\n
Turnover (from Welsh site): $member4_turnover_field\n
Date of company formation: $member4__formation\n
Do you export aborad? Where? $member4_export_field\n\n
Member consent: ".$checkbox3results."\n\n
Completed by: $member4_com_field\n
Company position: $member4_com_pos_field\n
Invoice required: $CheckboxGroup4_field\n\n
Please follow up this request asap.\n\n
";
mail($to, $subject, $body);
echo "Thank you for your account application, we will contact you shortly.";
} ?>
Vous devez vous connecter pour publier un commentaire.
Le plus simple serait peut créer un fichier csv, qui est lisible par Excel.
Il s'agit essentiellement d'une séparation par virgule liste de valeurs. Chaque ligne représente une ligne.
La première ligne peut éventuellement être les en-têtes de colonne, par exemple:
Assurez-vous de citer les noms de champ et les valeurs comme un errant non cotées , (virgule) serait gâcher vos colonnes.
Autres sage, il y a un Bibliothèque PEAR pour écrire des fichiers excel.
Vous pouvez leur envoyer le fichier par courriel en pièce jointe à l'aide de la construit-dans la fonction mail, voir l'exemple ici
Ou à l'aide de Swift Mailer, voir l'exemple ici
Mise à JOUR
C'est l'essentiel de ce dont vous avez besoin, le code ne peut pas être parfait à la merci de lire ce message et de ne pas copier et coller.
mail
fonction. Mais sans doute possible, juste une recherche sur google. Bien que je recommande de POIRE bibliothèque Mail ou mieux encore de Swift Mailer, voir docs ici (swiftmailer.org/docs/message-attachments)Il y a deux options:
Par défaut, windows associe les fichiers CSV avec Excel (si il est installé) de sorte que la plupart des gens seront d'ouvrir un fichier CSV dans Excel (si elles en ont installé).
Pour chaque cas, à lire ici:
Il est également intéressant de noter que si vous êtes de la génération d'un .xls fichier PHP aurez besoin pour s'exécuter sur windows avec une copie de Excel est installé (je ne le conseille pas cela, et si vous voulez aller avec l'option Excel, alors vous pourriez envisager de créer .xlsx fichiers avec l'PHPExcel outil je me suis lié à vous, cela ne nécessite pas une copie installée de Excel et peut donc être déployé sur Linux)
EDIT: par e-mail les fichiers en tant que pièces jointes vous pouvez l'utilisateur PHPMailer (un exemple de comment facile c'est peut être trouvé ici, et vous pouvez télécharger la classe ici)
Poire pourrait être utile ici. J'ai trouvé: Spreadsheet_Excel_Writer. Base de documentation et d'utilisation car il est ici.