Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2938 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire pour envoyer un mail Chez Tiscali (pages perso)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire pour envoyer un mail Chez Tiscali (pages perso)

n°822258
effisk
我不讲中文
Posté le 13-08-2004 à 12:53:48  profilanswer
 

Salut,
 
je me suis bien pris la tête la nuit dernière, et je vous fais partager le résultat de mon boulot.
 
Je signale que je débute en PHP, donc mon code va en faire bondir beaucoup, n'hésitez pas à poster le code corrigé si vous en avez le temps (et l'envie).
 
OK, de quoi s'agit-il?
Tiscali bloque la fonction mail pour les pages perso. Ils offrent une alternative qui permet de se faire envoyer des mails depuis un formulaire, sans que l'on puisse vérifier que les champs soient bien complétés de façon classe c'est à dire en restant sur sa page perso (avec sa mise en page, etc.)
voilà le truc de Tiscali:
http://www.chez.tiscali.fr/filer/o [...] laire.html
 
Donc j'ai fait un formulaire qui passe avant le formulaire de Tiscali, et qui vérifie que les champs ont été complétés. une fois qu'un formulaire complet a été soumis, il passe au formulaire tiscali.
exemple ici:
http://effisk.chez.tiscali.fr/_pro/contact.php
Cela permet aussi de cacher son adresse email aux Spammeurs (ce que le formulaire de Tiscali se targue de faire, ce qui est faux), puisque qu'elle n'apparait que sur le deuxième formulaire, quand le premier a été correctement complété.
Le code de la page est là:
http://effisk.chez.tiscali.fr/_pro/kod.txt
 
Egalement:
Tiscali accepte les register globals, donc pas la peine de coller des $_POST partout.
Si quelqu'un a une question, je veux bien aider (dans la mesure de mes modestes connaissances)
Ah, vous pouvez tester ma page en envoyant des mails, ça part dans le dossier junk d'office  :D


Message édité par effisk le 17-08-2004 à 00:30:21

---------------
London Box Office: Comédie Musicale Londres
mood
Publicité
Posté le 13-08-2004 à 12:53:48  profilanswer
 

n°822444
effisk
我不讲中文
Posté le 13-08-2004 à 14:57:27  profilanswer
 

j'en suis à la vérification de la validité syntaxique de l'adresse email entrée dans le formulaire, j'ai un truc comme ça:
 

Code :
  1. function EmailOK($FROM) {
  2.  
  3.   return( ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'.
  4.                '@'.
  5.                '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.'.
  6.                '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',
  7.                $FROM) );
  8. }


Comment puis-je l'intégrer à mon formulaire ?
le code du formulaire:
http://effisk.chez.tiscali.fr/_pro/kod.txt


---------------
London Box Office: Comédie Musicale Londres
n°822593
effisk
我不讲中文
Posté le 13-08-2004 à 17:15:16  profilanswer
 

un p'tit coup de main ?  :hello:


---------------
London Box Office: Comédie Musicale Londres
n°822672
T509
$job->GetJob(now)
Posté le 13-08-2004 à 18:17:07  profilanswer
 

Je ne comprends pas ta variable $espion, elle vient d'où ?
 
En fait, ce que tu fais là, c'est te servir d'un formulaire pour en remplir un autre. L'utilisateur doit cliquer 2 fois sur envoyer. C'est pas cool.
 
Je n'ai pas su rentrer correctement dans ton code qui est un peu fouilli car tu fais n fois le même contrôle.
 
Voilà comment je procéderais.
 
1- je vérifie si Tiscali a fermé le port SMTP (25) du serveur. Pour cela je fais un test rapide avec la classe phpmailer qui permet l'utilisation de serveurs smtp distants (comme si c'était ton client de messgerie qui s'y connectait). Le code exemple est fourni. Si non, j'utilise cette solution.
 
2- Si ce n'est pas possible, j'essaie de faire une chose un peu plus trappue mais qui aura l'avantage d'être plus sympa pour l'utilisateur :
 
2.1- mon formulaire de départ envoie les données à contact.php (la page affiche le formulaire et traite aussi les données). Dans ce formulaire figure toutes les informations dont tu as besoin.
 
2.2- je vérifie, entre autre, la syntaxe de l'adresse mail du correspondant. Si non, affichage au formulaire avec un message d'erreur.
 
2.3- Je supprime tous les accents du sujet (problème de Tiscali pour l'envoi du mail)
 
2.4- je m'intéresse à la fonction fsockopen() pour poster directement les données au formulaire Tiscali. Il y a un exemple de cette utilisation de la fonction dans les commentaires utilisateurs sur le manuel en ligne de PHP (post du  18-Nov-2003 08:27).
 
2.5- affichage du résultat
 
Juste un conseil pour ton code : essaie de séparer le fond de la forme et de ne pas trop mélanger PHP et HTML. Cela fonctionne mais c'est beaucoup plus lourd pour débugger.
 
Pour la vérification de ton adresse mail, j'utilise ce motif là :
 

Code :
  1. //régle de vérification de la syntaxe des adresses mail entrées dans le formulaire
  2. $email_ok =   '^'.        /* Début de la chaine */
  3.  '[_a-z0-9-]+'.        /* un ou plusieurs alphanumérique, underscore, tiret*/
  4.   '(\.[_a-z0-9-]+)*'.   /* Suivi de 0, un ou plusieurs groupes démarrant par un point, et suivi d'un ou plusieurs alphanumérique, underscoreou tiret*/
  5.  '@'.                  /* Suivi d'un @. */
  6.  '[a-z0-9-]+'.         /* suivi d'un ou plusieurs alphanumérique, underscore, tiret*/
  7.  '(\.[a-z0-9-]{2,})+'. /* Followed by one or more sets consisting of a period and two or more alphanumeric or hyphen charactures. */
  8.  '$';                  /* fin */


 
 
Edit : Ortho mais il en reste


Message édité par T509 le 13-08-2004 à 18:27:30

---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°823619
effisk
我不讲中文
Posté le 15-08-2004 à 18:28:20  profilanswer
 

T509 a écrit :

Je ne comprends pas ta variable $espion, elle vient d'où ?

C'est une variable qui me permet de vérifier que le visiteur a bien vu la page avant d'expédier le formulaire. C'est une sécu pas indispensable, mais bon, ça coûte pas cher à ajouter.
 

T509 a écrit :

En fait, ce que tu fais là, c'est te servir d'un formulaire pour en remplir un autre. L'utilisateur doit cliquer 2 fois sur envoyer. C'est pas cool.

Ouaip, je sais. La première fois, il clique sur "envoyer", la seconde sur "confirmer", mais il clique deux fois. Je me demandais s'il était possible d'envoyer un formulaire sans que le visiteur aie besoin de lciquer sur le bouton 'submit' ? Genre le formulaire s'envoie tout seul.
 

T509 a écrit :

Je n'ai pas su rentrer correctement dans ton code qui est un peu fouilli car tu fais n fois le même contrôle.

Mh, je sais, c'est un méga foutoir. Je vais essayer de ranger ça un peu.
 
 
 

T509 a écrit :

Voilà comment je procéderais.
 
1- je vérifie si Tiscali a fermé le port SMTP (25) du serveur. Pour cela je fais un test rapide avec la classe phpmailer qui permet l'utilisation de serveurs smtp distants (comme si c'était ton client de messgerie qui s'y connectait). Le code exemple est fourni.

C'est un peu de l'hébeu pour moi, mais ça m'étonnerait que Tiscali permette à n'importe qui d'envoyer des emails comme ça. Donc je pense que pour cette solution, c'est mort.
 

T509 a écrit :

2- Si ce n'est pas possible, j'essaie de faire une chose un peu plus trappue mais qui aura l'avantage d'être plus sympa pour l'utilisateur :
 
2.1- mon formulaire de départ envoie les données à contact.php (la page affiche le formulaire et traite aussi les données). Dans ce formulaire figure toutes les informations dont tu as besoin.

Ca correspond en gros à ce que j'ai fait ? Je fais une page contact.php sur laquelle apparaît le formulaire et qui traite également le formulaire ?
 
 

T509 a écrit :

2.2- je vérifie, entre autre, la syntaxe de l'adresse mail du correspondant. Si non, affichage au formulaire avec un message d'erreur.
 
2.3- Je supprime tous les accents du sujet (problème de Tiscali pour l'envoi du mail)

Le sujet, c'est moi qui le définis dans un input hidden, donc c'est réglé.
 

T509 a écrit :

2.4- je m'intéresse à la fonction fsockopen() pour poster directement les données au formulaire Tiscali. Il y a un exemple de cette utilisation de la fonction dans les commentaires utilisateurs sur le manuel en ligne de PHP (post du  18-Nov-2003 08:27).

Ahoui, ça m'intéresse ce tuc. Ca me permettrait de faire ce que je dis plus haut, ie soumettre le formulaire de Tiscali sans avoir besoin de cliquer sur le bouton 'submit' ? Où est ce manuel en ligne PHP ? Sur HFR ou PHP.net ou ?
 

T509 a écrit :

2.5- affichage du résultat
 
Juste un conseil pour ton code : essaie de séparer le fond de la forme et de ne pas trop mélanger PHP et HTML. Cela fonctionne mais c'est beaucoup plus lourd pour débugger.

Ouaip. Je vais essayer d'arranger ça.
 
 

T509 a écrit :

Pour la vérification de ton adresse mail, j'utilise ce motif là :

Code :
  1. //régle de vérification de la syntaxe des adresses mail entrées dans le formulaire
  2. $email_ok =   '^'.        /* Début de la chaine */
  3.  '[_a-z0-9-]+'.        /* un ou plusieurs alphanumérique, underscore, tiret*/
  4.   '(\.[_a-z0-9-]+)*'.   /* Suivi de 0, un ou plusieurs groupes démarrant par un point, et suivi d'un ou plusieurs alphanumérique, underscoreou tiret*/
  5.  '@'.                  /* Suivi d'un @. */
  6.  '[a-z0-9-]+'.         /* suivi d'un ou plusieurs alphanumérique, underscore, tiret*/
  7.  '(\.[a-z0-9-]{2,})+'. /* Followed by one or more sets consisting of a period and two or more alphanumeric or hyphen charactures. */
  8.  '$';                  /* fin */


Ok. En fait mon souci, c'est que je ne sais pas comment intégrer ça dans le code. Je vais essayer de voir sur le net si y'a un tut. là-dessus.
 
Merci beaucoup ppur le coup de main  :)


---------------
London Box Office: Comédie Musicale Londres
n°824604
effisk
我不讲中文
Posté le 16-08-2004 à 23:12:25  profilanswer
 

Bon bin voilà, j'ai intégré un truc pour vérifier la syntaxe, ça a l'air de bien marcher, j'ai mis à jour le fichier kod (lien dans le premier post) pour ceux que ça intéresse...


---------------
London Box Office: Comédie Musicale Londres

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire pour envoyer un mail Chez Tiscali (pages perso)

 

Sujets relatifs
pb: écriture de données dans un formulaire à partir d'une popupEnvoyer un mail avec mailto de haute importance
[Outlook] Avoir un bouton pour envoyer un mail à un contact...formulaire en html ?
problème formulaire avec envoi de pièce jointemise à jour du formulaire via le JSP
Probleme avec un formulaire et easyphpFormulaire HTML et application Java
Plus de sujets relatifs à : Formulaire pour envoyer un mail Chez Tiscali (pages perso)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR