Aller au contenu

Comment récupérer les infos d' un formulaire en format CSV...


silv1

Sujets conseillés

Bonjour!!!

Voici mon problème: en fait les données de mon formulaire sont à la fois envoyées par mail et stockées sur un fichier txt. Dans le fichier php qui gère le traitement des infos du formulaire j'ai inséré ces quelques lignes de code:

$datedujour = date('d/m/y/H:i:s');
$filename="./admin/liste.txt";
$fl=fopen($filename,"a+");
fwrite($fl,"''$datedujour'|'$nom'|'$prenom'|'$adressemail'|'$departement'|'$tel'|'$sqlinterets'|'$comments'|\n\r");
/* on ferme le fichier */
fclose($fl);

Tout marche nickel, les résultats du formulaires apparaissent sur le fichier liste.txt ; mais en fait j'aimerai obtenir directement un fichier au format csv avec séparateur point-virgule afin de rendre les données plus facilement exploitables.

Que dois-je faire au niveau du code pour parvenir à ce résultat? Merci d'avance pour votre aide :smartass:

SILV1

Lien vers le commentaire
Partager sur d’autres sites

Remplace ton fwrite par

fwrite($fl,"$datedujour;$nom;$prenom;$adressemail;$departement;$tel;$sqlinterets;$comments\n\r");

Après avoir traité toutes les variables pour en enlever les éventuels points-virgules et retours chariots, bien sûr.

Sinon, pourquoi utiliser un séparateur si complexe ? '|'

Lien vers le commentaire
Partager sur d’autres sites

Ben

$datedujour = date('d/m/y/H:i:s');
$filename="./admin/liste.csv";
$fl=fopen($filename,"a+");
fwrite($fl,"$datedujour;$nom;$prenom;$adressemail;$departement;$tel;$sqlinterets;$comments;\n\r");
/* on ferme le fichier */
fclose($fl);

Edit : Grillé sur le fil

Lien vers le commentaire
Partager sur d’autres sites

Au fait, pour supprimer les retours chariots, est-ce que ces quelques lignes de code peuvent faire l'affaire?

<?php
$texte=nl2br($texte);
$texte=str_replace(CHR(10),"",$texte);
$texte=str_replace(CHR(13),"",$texte);

?>

Merci bien!

Silv1

Lien vers le commentaire
Partager sur d’autres sites

Merci Blman pour l'astuce mais je pense que mes connaissances en php sont trop limitées pour utiliser cette fonction :blush:

Pour le moment j'ai simplement remplacé mes anciens séparateurs par des points virgules et ça marche imppécable!

Merci à tous pour votre aide si précieuse ;)

Silv1

Modifié par silv1
Lien vers le commentaire
Partager sur d’autres sites

l'exemple utilisé pour cette fonction est très facilement adaptable à ton cas

<?php

$list = array (
'29/04/08/16:45:33;Anseaume;David;nom_AT_domaine.ext;76;0202020202;Internet, littérature...;Test',
'29/04/08/15:38:24;Gates;Bill;bill_AT_microsoft.com;76;0202020202;Internet, littérature...;Test'
);

$fp = fopen('liste.csv', 'w');

foreach ($list as $line) {
fputcsv($fp, split(',', $line));
}

fclose($fp);
?>

Lien vers le commentaire
Partager sur d’autres sites

OK j'essaierai d'intégrer ce code...

Là depuis ce matin je galère pour enlever les retours chariots dans le champ commentaires (comments). J'ai essayé ça mais je suis pas du tout sûr de moi: :blush:

$datedujour = date('d/m/y/H:i:s');
$filename="./admin/prospects.txt";
$comments = str_replace( array( "\r", "\n" ), '', $comments );
$fl=fopen($filename,"a+");
fwrite($fl,"''$datedujour;$nom;$prenom;$adressemail;$departement;$tel;$sqlinterets;$comments';\n\r");
fclose($fl);

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...