Google Script: email - intégrer une page php

Signaler
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
-
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
-
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

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Bonjour,

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

Cordialement,
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
le fichier de mon formulaire? du .php

(merci pour ta réponse rapide)

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

Forza Taraji!!
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
et dans le fichier généré par php ? t'as quoi ?
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
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!!
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
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...
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
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!!
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
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.
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
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!!
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
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...
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
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!!
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
il sort d'ou le :

message = "<html>
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
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!!
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
ç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...
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
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!!
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
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...
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
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!!
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
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!!
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Tu peux faire une iframe
Messages postés
143
Date d'inscription
lundi 15 mars 2010
Statut
Membre
Dernière intervention
12 juin 2013
1
oui ça serai ptétre une solution. Je te tiens au courant.


Forza Taraji!!