

Exporter des données via une application
#1
Posté 17 December 2018 - 19:02 PM
Pour le projet d'une application Android sur tablette actuellement à l'étape de papier, je souhaiterais avoir des infos concernant l'exportation de données, je m'explique, l'utilisateur remplira des infos dans une ou plusieurs saisies textes, je souhaiterais que l'utilisateur puisse récupérer ses données dans un fichier texte contenu dans la tablette ou autre solution, ou bien les envoyer pourquoi pas dans un fichier sur internet ou éventuellement par mail.
Toutes les infos et possibilités sur le sujet sont les bienvenues.
Merci.
#2
Posté 17 December 2018 - 22:56 PM
#3
Posté 18 December 2018 - 19:03 PM
Merci pour les infos mais à moins de trouver un bon exemple concret ce que je n'es pas encore trouvé, ça reste complex, bien que la méthode du php me paraissait pas mal et la mieux adaptée à mon projet, je vais toutefois continuer à plancher dessus.
#5
Posté 19 December 2018 - 07:09 AM
Dans le tuto il précise " le fichier SWF et PHP doivent être hébergés sur un serveur Web doté de fonctionnalités PHP" mais dans mon cas il s'agit d'une application Air pour smartphone, ça reste toujours possible ?
#6
Posté 19 December 2018 - 08:43 AM
En utilisant Air, le swf est en local sur ta tablette (c'est le fichier principal d'une application Air).
#7
Posté 19 December 2018 - 22:26 PM
var enveloppe:URLLoader = new URLLoader;
var variablesLocales:URLVariables = new URLVariables();
var adresseMail:URLRequest = new URLRequest("http://monsite.free.fr/MailAir.php");
btEnvoyer.buttonMode = true;
btEnvoyer.addEventListener(MouseEvent.MOUSE_DOWN,envoyerMail);
function envoyerMail(evt:MouseEvent) {
variablesLocales.nom = nomExpediteur.text.toUpperCase();
variablesLocales.prenom = prenomExpediteur.text;
variablesLocales.adressemail = adressemailExpediteur.text;
variablesLocales.messagemail = messageExpediteur.text;
adresseMail.data = variablesLocales;
enveloppe.load(adresseMail);
messageExpediteur.text = "Message envoyé"
}
et j'ai crée un php que j'ai mis dans mon ftp avec ce code:
<?php
mail(" \n monmail@free.fr ", "Mail de mon Smartphone", $messagemail, "From:$prenom $nom ($adressemail)");
?>
Mais je ne reçois aucun mail, tu à une idée ?
#8
Posté 20 December 2018 - 06:46 AM
var variablesLocales:URLVariables = new URLVariables();
var adresseMail:URLRequest = new URLRequest("http://monsite.free.fr/MailAir.php");
variablesLocales.nom = nomExpediteur.text.toUpperCase();
variablesLocales.prenom = prenomExpediteur.text;
variablesLocales.adressemail = adressemailExpediteur.text;
variablesLocales.messagemail = messageExpediteur.text;
adresseMail.data = variablesLocales;
adresseMail.method = URLRequestMethod.POST;
enveloppe.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
enveloppe.addEventListener(Event.COMPLETE, completeHandler );
enveloppe.load(adresseMail);
function ioErrorHandler(event:IOErrorEvent):void
{
event.target.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
event.target.removeEventListener(Event.COMPLETE, completeHandler );
trace("ioErrorHandler: " + event);
response.text = "pas de connection !";
}
function completeHandler( event:Event ) : void
{
event.target.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
event.target.removeEventListener(Event.COMPLETE, completeHandler );
response.text = (event.target as URLLoader).data.toString();
}
if( ! isset($_POST["prenom"]) || ! isset($_POST["nom"]) || ! isset($_POST["adressemail"]) || ! isset($_POST["messagemail"]) )
{
echo "error";
exit;
}
$success = mail("monmail@free.fr", "Mail de mon Smartphone", $messagemail, "From:$prenom $nom <$adressemail>");
if($success)
{
echo "success";
}
else
{
echo "not success";
}
?>
#9
Posté 20 December 2018 - 19:19 PM
J'ai fait 1 millions d'essais et aucun message n'arrive dans ma boite mail, je pense avoir tout réalisé et vérifié correctement, je ne comprend pas ou ça cloche, surtout que tu me dit que ça fonctrionne pour toi.
#10
Posté 20 December 2018 - 20:16 PM
$prenom = "prenom";
$nom = "nom";
$adressemail = "adressemail@free.fr";
$messagemail = "messagemail";
$success = mail("monmail@free.fr", "Mail de mon Smartphone", $messagemail, "From:$prenom $nom <$adressemail>");
if($success)
{
echo "success";
}
else
{
echo "not success";
}
?>
est-ce que tu reçois l'email ?
#11
Posté 20 December 2018 - 20:34 PM
#12
Posté 20 December 2018 - 20:36 PM
#13
Posté 20 December 2018 - 20:39 PM
#14
Posté 20 December 2018 - 20:58 PM
#15
Posté 20 December 2018 - 21:08 PM
Merci d'être là pol2095 c'est très appréciable.
#16
Posté 20 December 2018 - 21:43 PM
#17
Posté 22 December 2018 - 18:29 PM
Le problème venait de mon logiciel de messagerie Thunderbird, j'utilise désormais une messageire en ligne où je reçois bien les mails maintenant, cela dit ils sont vides, les données entrées dans les textes de saisi n'apparaisent pas ??? j'ai mème testé avec d'autre code source les mails arrivent bien mais il n'y aucun message qui apparait, si vous avez une idée du problème ?
AS3
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.URLVariables;
import flash.events.MouseEvent;
function envoyer(e:MouseEvent):void
{
//Création des variables à passer dans l'URL
var vars:URLVariables = new URLVariables();
vars.nom = data_nom.text;
vars.prenom = data_prenom.text;
vars.email = data_email.text;
vars.sujet = data_sujet.text;
vars.txt_message = data_message.text;
//Fichier PHP qui va envoyer l'email
var url:URLRequest = new URLRequest("envoi.php"); //URL du fichier PHP
url.method = URLRequestMethod.POST; //Définit la méthode d'envoi des variables dans l'URL (POST ou GET)
url.data = vars; //On intégre les variables dans l'URL (en POST)
navigateToURL(url,"_self"); //Envoi des données du formulaire au fichier envoi.php
}
btn_envoyer.addEventListener(MouseEvent.CLICK, envoyer);
PHP
<?php
//Récupération des données envoyé par Flash (en POST)
$nom = $_POST["nom"];
$prenom = $_POST["prenom"];
$email = $_POST["email"];
$subject = $_POST["sujet"];
$texte = $_POST["txt_message"];
//Destinataire du mail
$destinataire = "votre_email@fai.fr";
//Entête du mail
$headers = "MIME-Version: 1.0\n";
$headers .= "From: \"".$nom." ".$prenom."\" <".$email.">\n";
$headers .= "X-Sender: <".$email.">\n";
$headers .= "X-Mailer: ".phpversion()."\n";
$headers .= "Content-type: text/html; charset=utf-8 \n";
$headers .= "\n";
//Création du message
$message = "<b>Auteur :</b> ".$nom." ".$prenom."<br>";
$message .= "<b>Email :</b> ".$email."<br>";
$message .= "<b>Objet :</b> ".$subject."<br>";
$message .= "<br>";
$message .= "<b>Message :</b> <br>";
$message .= $texte;
//Envoi
mail($destinataire,$subject,$message,$headers,"-f".$email);
?>
#18
Posté 23 December 2018 - 19:47 PM
je me suis encore pris la tête tout le week-end à tenter de faire fonctionner cet envoi de mail par php, j'ai fait une tonne d'essais rien ne fonctionne, de mon smartphone je saisis les infos dans les saisies texte puis je les envois, ensuite je reçois bien les mails mais sans aucun renseignements à l'intérieur, je suis sur le point d'abandonner je trouve pas le problème, si quelqu'un à le courage et le temps de me présenter une source (testée) la plus simple possible, une simple saisie texte à remplir puis à expédier, ça serait sympa, là je n'en peux plus, merci d'avance.
#19
Posté 24 December 2018 - 00:17 AM
Prend un mutualisé chez OVH par exemple, et tu verras que ça marche.
J'utilise Outlook et mes mails apparaissent entièrement.
#20
Posté 24 December 2018 - 09:17 AM
#21
Posté 24 December 2018 - 11:33 AM
Précédement tu as dans ton script:
function ioErrorHandler(event:IOErrorEvent):void
{
event.target.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
event.target.removeEventListener(Event.COMPLETE, completeHandler );
trace("ioErrorHandler: " + event);
response.text = "pas de connection !";
}
La réponse en cas d'erreur est "noter pas de connection !" en faite il s'agit plus d'une "Erreur d’ouverture de l’URL" donc pour que l'utilisateur soit informé de façon précise comment faire dans ce cas la différence entre une URL non trouvée ou une réelle absence de connection ?
#22
Posté 24 December 2018 - 13:34 PM
var enveloppe:URLLoader = new URLLoader;
var variablesLocales:URLVariables = new URLVariables();
var adresseMail:URLRequest = new URLRequest("http://monsite.free.fr/MailAir.php");
variablesLocales.nom = nomExpediteur.text.toUpperCase();
variablesLocales.prenom = prenomExpediteur.text;
variablesLocales.adressemail = adressemailExpediteur.text;
variablesLocales.messagemail = messageExpediteur.text;
adresseMail.data = variablesLocales;
adresseMail.method = URLRequestMethod.POST;
enveloppe.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
enveloppe.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
enveloppe.addEventListener(Event.COMPLETE, completeHandler );
enveloppe.load(adresseMail);
function ioErrorHandler(event:IOErrorEvent):void
{
event.target.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
event.target.removeEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
event.target.removeEventListener(Event.COMPLETE, completeHandler );
trace("ioErrorHandler: " + event);
if( status == 404 )
{
response.text = "La page n'existe pas";
}
else
{
response.text = "pas de connection !";
}
}
function httpStatusHandler(event:HTTPStatusEvent):void
{
status = event.status;
}
function completeHandler( event:Event ) : void
{
event.target.removeEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
event.target.removeEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
event.target.removeEventListener(Event.COMPLETE, completeHandler );
response.text = (event.target as URLLoader).data.toString();
}
#23
Posté 24 December 2018 - 16:25 PM
Tu as tout à fait raison mais pas dans le cas présent, je t'explique, dans mon projet l'utilisateur pourra préalablement entrer et enregistrer sa propre URL d'ou l'importance de lui signaler lors de ses envois qu'il s'agit alors d'une erreur dans son URL ou d'une absence de connection.
1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)