Formulaire pour envoyer un mail Chez Tiscali (pages perso) - PHP - Programmation
Marsh Posté le 13-08-2004 à 14:57:27
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 :
|
Comment puis-je l'intégrer à mon formulaire ?
le code du formulaire:
http://effisk.chez.tiscali.fr/_pro/kod.txt
Marsh Posté le 13-08-2004 à 17:15:16
ReplyMarsh Posté le 13-08-2004 à 18:17:07
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 :
|
Edit : Ortho mais il en reste
Marsh Posté le 15-08-2004 à 18:28:20
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. |
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 : |
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. |
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 |
Ouaip. Je vais essayer d'arranger ça.
T509 a écrit : Pour la vérification de ton adresse mail, j'utilise ce motif là :
|
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
Marsh Posté le 16-08-2004 à 23:12:25
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...
Marsh Posté le 13-08-2004 à 12:53:48
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
Message édité par effisk le 17-08-2004 à 00:30:21
---------------
London Box Office: Comédie Musicale Londres