Architecture d'un formulaire client + divers fonctions (email, macros....).

quinton75 Messages postés 44 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 6 juillet 2011 - 3 févr. 2011 à 11:00
bobertin89 Messages postés 38 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 2 septembre 2011 - 4 févr. 2011 à 11:38
Bonjour,

J'ai créée un formulaire pour demander aux clients smart box de renseigner leurs infos persos ....En bas de page, le code.....

Et j'aimerais intégrer les fonctions suivantes :
- Une fois le formulaire rempli, envoi d'un mail de confirmation
- check du code samrt box saisi sur le formulaire via une macro sur le site de smart box (si le code est non consommé => génération d'un fichier excel avec le descriptif de la demande
si consommé => renvoyer un mail pour demander à l'utilisateur de recommencer la saisie de formulaire avec le bon code

Sur le site de smart box il y a juste un champ ou on rentre le code et dès validation, il apparait en dessous, un texte "consommé" ou "valide"


En fait j'ai donc 2 problèmes techniques :
- générer l'envoi d'un mail dès validation du formulaire
- vérifier la validité d'un code dès validation du formulaire sur le site de smart box


1er code :






Mini-chat



form
{
text-align:center;
}






smartbox :

nom :

prenom :

date de naissance :

telephone :

nom de la photographie :

page :

validite :

livraison :

adresse :

code postal :

ville :

email :












2eme code :



Votre demande a bien été prise en compte





4 réponses

bobertin89 Messages postés 38 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 2 septembre 2011
3 févr. 2011 à 14:48
Salut,
pour envoyer un mail, php a une fonction mail largement commentée sur ce forum et sur le web en général...
http://www.vulgarisation-informatique.com/mail.php
Pour ton excel :
http://www.graphiks.net/php-tutoriel/mysql/mysql_vers_excel_via_php_et_sylk.html
Google est ton meilleur ami...
P.S.: N'oublie pas d'aller voir la belle bertoune, elle t'aidera...
0
quinton75 Messages postés 44 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 6 juillet 2011
3 févr. 2011 à 15:21
Merci bcp bobertin....

euhh la belle bertoubeje ne suis pas sur...

Sinon autre interogation mais en javascript...EN fbjs plus precisement :

Je soushaite integrer un formulaire sur une page facebook ..Mon code javascript fonctionne mais pas sur facebook..

Il faut surement le passer en fbjs, mais malgré toutes les sources du net, ca marche pas :
<html> 
<head> 
<title>Webform</title> 
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 
<script language="javascript"> 
var dtCh='/'; 
var minYear=1900; 
var maxYear=2100; 
function isValidInteger(s){ 
var i; 
for(i=0;i<s.length;i++){ 
var c=s.charAt(i); 
if(((c<'0')||(c>'9'))) return false; 
} 
return true; 
} 
function stripCharsInBag(s,bag){ 
var i; 
var returnString=''; 
for(i=0;i<s.length;i++){ 
var c=s.charAt(i); 
if(bag.indexOf(c)==-1) returnString+=c; 
} 
return returnString; 
} 
function daysInFebruary(year){ 
return(((year%4==0)&&((!(year % 100 == 0))||(year%400==0)))?29:28); 
} 
function DaysArray(n){ 
for(var i=1;i<=n;i++){ 
this[i]=31; 
if(i==4||i==6||i==9||i==11){this[i]=30;} 
if(i==2){this[i]=29;} 
} 
return this; 
} 
function isDateOK(dtStr){ 
if(dtStr=='') return true; 
var daysInMonth=DaysArray(12); 
var pos1=dtStr.indexOf(dtCh); 
var pos2=dtStr.indexOf(dtCh,pos1+1); 
var strDay=dtStr.substring(0,pos1); 
var strMonth=dtStr.substring(pos1+1,pos2); 
var strYear=dtStr.substring(pos2+1); 
strYr=strYear; 
if(strDay.charAt(0)=='0'&&strDay.length>1) strDay=strDay.substring(1); 
if(strMonth.charAt(0)=='0'&&strMonth.length>1) strMonth=strMonth.substring(1); 
for(var i=1;i<=3;i++){ 
if(strYr.charAt(0)=='0'&&strYr.length>1) strYr=strYr.substring(1); 
} 
month=parseInt(strMonth); 
day=parseInt(strDay); 
year=parseInt(strYr); 
if(pos1==-1||pos2==-1){ 
alert('Le format de date devrait être : dd/mm/yyyy.'); 
return false; 
} 
if(strMonth.length<1||month<1||month>12){ 
alert('Veuillez entrer un mois valide.'); 
return false; 
} 
if(strDay.length<1||day<1||day>31||(month==2&&day>daysInFebruary(year))||day>daysInMonth[month]){ 
alert('Veuillez entrer un jour valide.'); 
return false; 
} 
if(strYear.length!=4||year==0||year<minYear||year>maxYear){ 
alert('Veuillez entrer une année &#65533; 4 chiffres comprise entre '+minYear+' et '+maxYear+'.'); 
return false; 
} 
if(dtStr.indexOf(dtCh,pos2+1)!=-1||isValidInteger(stripCharsInBag(dtStr,dtCh))==false){ 
alert('Veuillez entrer une date valide.'); 
return false; 
} 
return true; 
} 
function modifyDateFormat(dt){ 
var valuesTable=dt.value.split(dtCh); 
dt.value=valuesTable[1]+dtCh+valuesTable[0]+dtCh+valuesTable[2]; 
} 
function isEmail(emailAddress){ 
emailAddressValue=emailAddress.value.toLowerCase(); 
var countryTLDs=/^(ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|Fiddlesticks|bt|bv|bw|by|bz|ca|cat|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$/;
var gTLDs=/^(aero|biz|cat|com|coop|edu|gov|info|int|mil|museum|name|net|org|jobs)$/; 
var basicAddress=/^(.+)@(.+)$/; 
var specialChars='\\(\\)><@,;:\\\\\\"\\.\\[\\]'; 


var validChars='\[^\\s'+specialChars+'\]'; 
var validCharset='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\'-_.'; 
var quotedUser='("[^"]*")'; 


var atom=validChars+'+'; 
var word='('+atom+'|'+quotedUser+')'; 
var validUser=new RegExp('^'+word+'(\.'+word+')*$'); 
var symDomain=new RegExp('^'+atom+'(\.'+atom+')*$'); 
var matchArray=emailAddressValue.match(basicAddress); 
if(emailAddress.value==''||emailAddress==null){ 
return true; 
} 
if(matchArray==null){ 
alert('L\'adresse Email semble incorrecte,\nveuillez vérifier la syntaxe.'); 
emailAddress.focus(); 
return false; 
}else{ 
var user=matchArray[1]; 
var domain=matchArray[2]; 
for(i=0;i2)&&(domArr[domArr.length-1].search(gTLDs)==-1)){ 
alert('L\'adresse Email semble incorrecte,\nveuillez vérifier le suffixe du domaine.'); 
emailAddress.focus(); 
return false; 
} 
if((domArr[domArr.length-1].length<2)||(domArr[domArr.length-1].length>6)){ 
alert('L\'adresse Email semble incorrecte,\nveuillez vérifier le suffixe du domaine.'); 
emailAddress.focus(); 
return false; 
} 
if(len<2){ 
alert('L\'adresse Email semble incorrecte.'); 
emailAddress.focus(); 
return false; 
} 
} 
return true; 
} 
String.prototype.trim = function() { return this.replace(/^\s*(\b.*\b|)\s*$/, "$1"); } 
function mandatoryText(input,fieldName){ 
if(input.value.trim()==''||input==null){ 
alert('Veuillez saisir '+fieldName+'.'); 
input.focus(); 
return false; 
} else { 
return true; 
} 
} 
function validForm(){ 
if(!mandatoryText(document.getElementById('EMAIL_FIELD'), 'Adresse e-mail')) return; 
if(!isEmail(document.getElementById('EMAIL_FIELD'))) return; 
if(!isDateOK(document.getElementById('DATEOFBIRTH_FIELD').value)) return; 
if(document.getElementById('DATEOFBIRTH_FIELD').value!='') modifyDateFormat(document.getElementById('DATEOFBIRTH_FIELD')); 
document.getElementById('emvForm').submit(); 
if(document.getElementById('DATEOFBIRTH_FIELD').value!='') modifyDateFormat(document.getElementById('DATEOFBIRTH_FIELD')); 
} 
</script> 
</head> 
 
<form name="emvForm" id="emvForm" action="http://p2tre.emv3.com/D2UTF8" method="POST" target="_top"> 
 
 
Adresse e-mail,
,

----

Prénom,
,

----

Nom,
,

----

Date de naissance,
,

----

Genre,
<select id="TITLE_FIELD" name="TITLE_FIELD">
<option selected value=""></option>
<option value="Homme">Homme</option>
<option value="Femme">Femme</option>
</select>,

----

 
</form> 
 
</html>
0
quinton75 Messages postés 44 Date d'inscription mercredi 13 octobre 2010 Statut Membre Dernière intervention 6 juillet 2011
3 févr. 2011 à 16:56
c'est toi qui chante?;)
0
bobertin89 Messages postés 38 Date d'inscription mercredi 14 avril 2010 Statut Membre Dernière intervention 2 septembre 2011
4 févr. 2011 à 11:38
Salut quinton,
je pensais la belle bertoune t'aiderais!!!
C'est ma soeur qui chante, moi je suis flute/clavier(chapeau...)...
Pour ton souci avec facebook, je ne pense pouvoir t'aider... JS pas trop mon truc et Facebook encore moins...
Désolé...
Si tu veux, envoie une invit Facebook.
Bon dev.
A+
0
Rejoignez-nous