Google Script: email - intégrer une page php

mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 - 11 août 2011 à 11:11
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 - 11 août 2011 à 16:50
Salut,

J'utilise Google Spreadsheet pour envoyer des mails. Là, il n'y a pas de problème. Par contre, je veux lui intégrer un formulaire déjà prêt en php 5. J'ai essayé plein de méthodes avec google script mais je ne peux faire passer que de l'html (même un <html><?php echo 'coucou'; ?></html> ne m'affiche rien.

le code dans l'éditeur google script du google spreadsheet:


var emailAddress =  row[9];
var message = "<html> <?php include_once 'http://.../formulaire.php' ?></html> ";
var subject  = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,message, {htmlBody: message});


ou


var emailAddress =  row[9];
var message = "<html> <?php include_once 'http://.../formulaire.php' ?></html> ";
var subject  = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,"", {htmlBody: message});


ou


var emailAddress =  row[9];
var message = "<html> <?php include_once 'http://.../formulaire.php' ?></html> ";
var subject  = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,message);



ne m'affichent rien dans le mail.

Merci d'avance pour votre aide.

Forza Taraji !!!

21 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 11:20
Bonjour,

Quand tu fais affichage source, ça te donne quoi ?
Quelle est l'extention de ton fichier ?

Cordialement,
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 11:30
le fichier de mon formulaire? du .php

(merci pour ta réponse rapide)

Forza Taraji!!
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 11:35
et par rapport à l'affichage du mail, il n'y a que des div vides et à la fin vide aussi.

Forza Taraji!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 11:49
et dans le fichier généré par php ? t'as quoi ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 11:57
En fait dans le php, au début j'ai un include entre <?php et ?> d'un autre fichier php (connect.php) qui lui fait la communication entre le formulaire et le google spreadsheet. Puis , j'ai mes balises html normales pour mon formulaire tout faisant appel parfois à des variables de connect.php toujours avec des <?php ... ?>.

C'est grave, docteur?

Blague à part, merci d'essayer de m'aider

Forza Taraji!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 12:37
Hum...

T'as pas l'air de comprendre ce que je te demande comme information...

Tu dis que le code que tu génères ne fonctionne pas, et tu nous donnes le code du générateur et pas le code généré, c'est dur de débuguer comme ça...

Bon, mon idée, c'est que t'as des doubles quotes GENEREES par ton fichier php, mais si tu ne donnes pas plus d'infos on ne peut pas t'aider.



var emailAddress = row[9];
var message = "<html> <?php include_once 'http://.../formulaire.php' ?></html> ";
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,message, {htmlBody: message});


ça c'est ton code PHP ! moi ce que je veux voir, c'est ce que ton serveur renvoie à partir de ce code !

tu vas sur le site qui contient cette source, et tu fais affichage source pour voir ce que php renvoie, tu verras probablement des doubles quotes se balader, ça devrait ressembler à ça :

var emailAddress = row[9];
var message = "<html> ......</html> ";
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,message, {htmlBody: message});

par exemple, et tu vois un problème de doubles quotes.

Pour ne pas dire de conneries, je te demande depuis tout à l'heure de me donner le code source javascript généré par php, mais t'as pas l'air de vouloir me le donner...
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 14:26
Désolé pour mon retard (c'était la pause déj):

Bin voila ce que me renvoi mon php :

Formulaire

Secteur d'activité :

Nom de la Société :

Page Web :

Nom du Responsable :

Prénom :

État Civil : M Mme Mlle

Fonction :

Téléphone Professionnel :

Téléphone Mobile :

Email :

Adresse :

Code Postal :

Ville :

Activité de l'Entreprise :

Points Forts :

Points Faibles :

(ici il y a les zones textes et les boutons radio qui manquent). Rien de spécial j'imagine. Surtout que si je mets un code de ce genre dans mon google éditeur script :

var emailAddress = row[9];
    var message = "Lien";
    var subject = "Sending emails from a Spreadsheet";
    MailApp.sendEmail(emailAddress, subject,message, {htmlBody: message});


et bien, le lien marche nickel.

Forza Taraji!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 14:29
je ne t'ai pas demandé le texte mais le code html produit.

Pour moi, la différence entre les deux, c'est que dans un cas, t'as des double guillemets, et dans l'autre non.
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 14:46
Bin voici le formulaire.php :




Formulaire





Formulaire



Secteur d'activité :
>Marketing et Communication
>Qualité, Sécurité, Santé et Environnement




Nom de la Société : " name="soc">



Page Web : " name="web">



Nom du Responsable : " name="nom">



Prénom : " name="prenom">



État Civil : >M >Mme >Mlle



Fonction : " name="fonction">



Téléphone Professionnel : " name="tel-pro">



Téléphone Mobile : " name="tel-mob">



Email : " name="email1">@" name="email2">." name="email3">



Adresse :



Code Postal : " name="postal">



Ville : " name="ville">



Activité de l'Entreprise :



Points Forts :



Points Faibles :







">






function getVote()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("pf").innerHTML=xmlhttp.responseText;
}
}
var x = 4;
xmlhttp.open("POST","result.php5",true);
xmlhttp.send("varx="+x);
}

function getValid(){

var x = 4;
var xhr;
try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
catch (e)
{
try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
catch (e2)
{
try { xhr = new XMLHttpRequest(); }
catch (e3) { xhr = false; }
}
}

xhr.onreadystatechange = function()
{
if(xhr.readyState 4 && xhr.status 200)
{}}

xhr.open("POST","result.php5",true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');

xhr.send("varx="+x);
}







et voici le fichier connect.php5 :




satisfait? (je pense que tu n'as pas besoin de result.php5 car celui n'est appelé que lorsqu'on valide, mais il faut qu'on affiche le formulaire)


Forza Taraji!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 14:57
non, c'est pas du tout ce que je te demandais....

tes balises php j'en ai rien à faire, ce que je veux voir, c'est ce que ça produit chez le client.

Quand tu fais affichage source, ça te donne quoi ? (sur le navigateur)

Ma question est plutot simple à comprendre pourtant, et ma réponse semble être la solution à ton problème, donc si tu te décidais à écouter ce que je dis, peut-etre qu'on pourrait avancer.


Le problème c'est que ton code php produit des guillemets, ça serait vachement cool d'aller sur la page ou t'as ton code, depuis un firefox ou un chrome, et de regarder dans les sources si la ligne var message = "<html><?php include_once 'http://.../formulaire.php' ?></html>"; est bien formée... Mais depuis ce matin, tu refuses de faire le moindre effort...
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 15:09
Donc ce que tu veux, c'est le code source de ce qui s'affiche chez le client? Donc le code source du formulaire qui s'affiche chez le client? Bin, c'est quasiment le même que celui du formulaire sans l'include au début. Le voici :



Formulaire





Formulaire



Secteur d'activité :
Formation et Étude

Marketing et Communication
Ingénierie et Travaux
Qualité, Sécurité, Santé et Environnement





Nom de la Société :



Page Web :



Nom du Responsable :



Prénom :



État Civil : M Mme Mlle




Fonction :



Téléphone Professionnel :



Téléphone Mobile :



Email : @.




Adresse : ...



Code Postal :



Ville :



Activité de l'Entreprise : Forza Taraji




Points Forts : CAMPIONE EST



Points Faibles :














function getVote()
{
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("pf").innerHTML=xmlhttp.responseText;
}
}
var x = 4;
xmlhttp.open("POST","result.php5",true);
xmlhttp.send("varx="+x);
}

function getValid(){

var x = 4;
var xhr;
try { xhr = new ActiveXObject('Msxml2.XMLHTTP'); }
catch (e)
{
try { xhr = new ActiveXObject('Microsoft.XMLHTTP'); }
catch (e2)
{
try { xhr = new XMLHttpRequest(); }
catch (e3) { xhr = false; }
}
}

xhr.onreadystatechange = function()
{
if(xhr.readyState 4 && xhr.status 200)
{}}

xhr.open("POST","result.php5",true);
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');

xhr.send("varx="+x);
}







Forza Taraji!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 15:33
il sort d'ou le :

message = "<html>
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 15:49
C'est ce que je t'expliquait au début. Le formulaire je l'ai fait tout seul et lorsque je mets le lien dans la barre du navigateur ça marche. Ce formulaire communique avec google spreadsheet (les réponses du formulaire sont envoyées au google spreadsheet). De google spreadsheet je dois envoyer des mails aux inscrits. Pour celà, j'utilise Script Editor de google spreadsheet.
message = "<html>
vient de cet éditor. J'ai pu facilement envoyer un mail avec cet éditeur mais je dois rajouter le formulaire dans le mail. Pour ce faire on doit faire
var message = "..." //code html



Forza Taraji!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 16:15
ça j'ai compris, mais ce que je veux voir, c'est la suite de la ligne message = "<html> générée par ton php...
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 16:25
là c'est moi qui ne pige plus rien (désolé) : tu veux donc le code qui se trouve dans l'éditeur de google spreadsheet?

Au cas où, voici les différentes versions que j'ai essayé (les mêmes qu'au début du sujet):

var emailAddress = row[9];
var message = "<html> <?php include_once 'http://.../formulaire.php' ?></html> ";
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,message, {htmlBody: message});


ou

var emailAddress = row[9];
var message = "<html> <?php include_once 'http://.../formulaire.php' ?></html> ";
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,"", {htmlBody: message});


ou

var emailAddress = row[9];
var message = "<html> <?php include_once 'http://.../formulaire.php' ?></html> ";
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,message);



et ilsne m'affichent rien dans le mail. (j'ai aussi essayé avec l'include seulement).

Mais je ne pense pas que tu parles de ça. Sinon ce que je voudrais pour faire plus simple, c'est le code qui permet d'afficher une page php dans une page html (dans un cadre par exemple)
.


Forza Taraji!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 16:29
ok donc

var emailAddress = row[9];
var message = "<html> <?php include_once 'http://.../formulaire.php' ?></html> ";
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject,"", {htmlBody: message});

c'est pas un code que tu mets sur tes propres pages ??

Bon dans ce cas, t'as aucun moyen de le faire, et heureusement...
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 16:29
Tu vois, pour les images on a ce genre de code :
 

Il n'y a pas un type de balise pour les pages?(mis à part link ou href qui nous donnent seulement un lien qui nous renvoie à la page).


Forza Taraji!!
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 16:31
Merci quand même d'avoir passé la journée à essayer de m'aider. Sinon, si je voulais faire une page html avec 2 ou 3 cadres et que ces cadres contiennent des pages php déjà prêtes, comment je dois faire?

Forza Taraji!!
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
11 août 2011 à 16:35
Tu peux faire une iframe
0
mrassaa Messages postés 143 Date d'inscription lundi 15 mars 2010 Statut Membre Dernière intervention 12 juin 2013 1
11 août 2011 à 16:39
oui ça serai ptétre une solution. Je te tiens au courant.


Forza Taraji!!
0
Rejoignez-nous