|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | ||||
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
Bonjour,
j'ai réalisé un formulaire et je souhaiterai : 1. Que celui-ci, lorsqu'il est dument rempli et validé, me soit envoyé par e-mail (+ une copie à l'utilisateur à son adresse e-mail qu'il aura fourni dans le formulaire et dont je peux "adapter" la forme) ; cela est déjà dans le code, et ça ne fonctionne pas... 2. Que ça renvoie sur la page "process.php" comme souhaité (tout à l'heure ça marchait, et j'ai dû faire une connerie parce-que là ça marche plus, et je vois pas où est la boulette... Je vous fournis le formulaire "contact.html" : Code :
Code :
|
||||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Pourrais-tu être plus précis que "ça ne fonctionne pas" ?
|
|
|
00
|
|
|
#3 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Code :
Par ailleurs, Code :
$err_formulaire = (IsEmail($email)) ? false : true;
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||
|
00
|
|
|
#4 |
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
Eh bien la page n'affiche RIEN. Et le mail ne s'envoie pas. En gros, rien ne fonctionne (mais je pense que je ne suis pas trop trop loin d'y arriver). Mais là je bloque, j vois pas où ça cloche...
@shikiryu : pourrais-tu me proposer des changements dans le code ? Où dois-je mettre le name=envoi ? Par contre, pour ta dernière proposition, je ne saisis pas, normalement, ça devrait fonctionner comme cela, et pourtant non... |
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Soit tu changes dans ton HTML
Code :
<input type="submit" value="submit" name="submit" tabindex="10" /> Code :
<input type="submit" value="submit" name="envoi" tabindex="10" /> Il y a pleins de tutoriaux là dessus sur developpez. Exemple : http://sylvie-vauthier.developpez.co...ulaires#LIII-1 La dernière remarque de mon message précédent fait exactement la même chose que ton script, je le trouve juste plus lisible qu'une condition ternaire.
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
|
|
#6 |
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
Bonjour,
J'ai bien fait ce changement (dans le HTML), mais désormais cela me met automatiquement le message contenu dans la variable "$message_formulaire_invalide", à savoir "An error occured. You forgot to specify one or several fields. Please, try again." Comme si je n'avais pas rempli tous les champs Alors que si.
|
|
|
00
|
|
|
#7 | ||||||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
C'est le cas !
Lis ton code (et les tutoriaux de base dont j'ai donné les liens !) process.php va recevoir en POST ( <form method="post" action="process.php"> ) tous les champs du formulaire présent dans la variable global $_POST qui est un tableau indexé sur les "name" des champs. Tu remarqueras que : Code :
Code :
Code :
N'utilise pas d'attribut "name" sur les labels ! Fais attention à tout ça. N'hésite pas à débugguer par toi-même (c'est comme ça qu'on apprend) par exemple en utilisant
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||||||
|
00
|
|
|
#8 | ||||
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
HTML :
Code :
Code :
Maintenant ça me renvoie "An error occurred. Please, try again." Mais c'est pas possible !! Pourtant là normalement c'est bon ?????? |
||||
|
|
00
|
|
|
#9 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
|
|
#10 | ||
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
Arghh...
Je vois bien de quoi tu me parles, c'est vers là dans mon code que ça cloche : Code :
_______________________________________________________ civility: $civility last name : $last_name first name : $first_name country : $country city : $city company : $company e-mail : e_mail phone (company) : $phone_company phone (cellular) : $phone_cellular $message _______________________________________________________ Mais je ne vois pas quoi enlever... comment modifier. J'ai bien lu la syntaxe. Mais elle ne correspond pas à celle-ci. Si tu sais faire, s'il-te-plaît, file moi l'info, je saisirai alors mon erreur et saurai comment l'appliquer à l'avenir, car là, j'essaie mais ça ne fonctionne pas. Je tourne en rond. Au moins après je saurai comment faire. Merci Shikiryu. NB : tu peux commenter ton code si tu veux pour que je saisisse mieux, comme tu peux le constater, je ne suis pas un expert du PHP, il fut un temps encore, ça allait, mais le manque de pratique m'a fait oublier beaucoup de choses... j'espère que tu seras compréhensif. Si tu veux, contacte moi par MP je te donnerai une petite récompense car j'aimerai bien que ça fonctionne assez rapidement en fait... et là je tourne en rond. Merci |
||
|
|
00
|
|
|
#11 | ||||||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
La fonction mail() de PHP doit s'écrire comme ça :
Code :
mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Tu as déjà l'adresse de destination et l'objet, mais ton corps est en plusieurs morceaux (c'est bizarre à dire ça Il faut donc le construire. Pour cela, tu peux faire : Code :
Il ne te reste plus qu'à modifier la fonction mail dans ton code : Code :
Rien ne t'empêche de lui envoyer un message de confirmation et de t'envoyer un email avec les détails : Code :
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||||||
|
00
|
|
|
#12 | ||
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
Bonjour Shikiryu,
merci pour ta réponse. Il est vrai que cela me parait plus clair dorénavant, notamment l'initialisation de la variable $body ! Cependant, cela ne fonctionne hélas toujours pas... Ai-je (encore) fait une petite erreur de syntaxe ? Je te renvoie le tout : Code :
|
||
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
C'est vrai que vous m'aviez parlé de la variable $object dans le dernier message mais maintenant je me rend compte que je ne vois pas d'où elle vient
Initialisez la variable $object avec l'objet souhaité ou remplacez la directement dans mail().
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
|
00
|
|
|
#14 | ||
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
Non en fait c'était pas "object" mais "subject" ; j'ai rectifié :
Code :
|
||
|
|
00
|
|
|
#15 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
Y a toujours quelques erreurs dans ton script (c'est à se demander comment il ne plante pas
1- Ici : Code :
$message = str_replace(''',"'",$message); Code :
$message = str_replace('\'',"'",$message); 2- Code :
3- Attention, tu envoies 3 emails dans ton script dont 2 à la même adresse (celle rentrée dans le formulaire) Prend ton temps, relis ton script et regarde bien ce qu'il fait ligne par ligne. Attention
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||
|
00
|
|
|
#16 | ||||||
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
1. Dans mon code j'ai mis ça :
Code :
Code :
3. J'ai bien relu tout le script plusieurs fois, j'ai apporté plusieurs modifications, ça ne fonctionne toujours pas Revoilà tout le code avec les modifs..... : Code :
|
||||||
|
|
00
|
|
|
#17 | ||||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
1-
J'avais dit remplacer et pas ajouter ![]() Mais en plus, c'était idiot. Tu demandes au script de remplacer des apostrophes par... des apostrophes. Finalement, il ne devrait rester que : Code :
Il en restait un. ![]() 3- J'ai l'impression que tu aimes bien avoir du tout cuit : Code :
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||||
|
00
|
|
|
#18 | ||||
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
Malheureusement, cela ne fonctionne toujours pas.
(j'ai fait une ou deux modifs sur ton code, quelques oublis, genre fermer la balise PHP ?> à la fin Comme quoi, c'est pas si simple ! Je te refile les codes entiers, teste, tu verras ![]() contact.html : Code :
Code :
|
||||
|
|
00
|
|
|
#19 | ||
|
Membre chevronné
![]() Développeur Web Inscription : mars 2011 Messages : 399 ![]() |
La balise ?> de fin n'a pas été oubliée, elle n'est pas obligatoire si c'est la fin du fichier. Tu peux essayer tu verras
Tu as cafouillé les } sur la fin Je te l'ai modifié et testé, il fonctionne sur mon serveur. J'avais changé l'adresse de destination Par contre, j'ai eu 1 alerte concernant (je l'avais pas vu celui-là) qui est une méthode deprecated (elle fonctionne mais mieux vaut utiliser preg_match() de la même manière. Je l'ai changé ici. Dernière remarque : J'ai retiré les tabulations dans la création de $body car elles étaient présentes dans le mail et faisait un décalage ... moche. Code :
__________________
Membre de StackOverflow, je suis un fervant utilisateur de PHP et de jQuery. Après des études de graphisme, j'ai décidé de mélanger développement web et web design. J'ai ainsi donc créé mon site web mais aussi plusieurs projets personnels. Dans les plus aboutis, vous pourrez trouver dans mon labo et dans mon devblog, un raccourcisseur d'url, un bookmarklet pour envoyer l'url de la page actuelle vers votre email pour lire plus tard ou sauvegarder, mon générateur de template HTML5, etc... |
||
|
10
|
|
|
#20 |
|
Invité régulier
![]() Consultant en sécurité Inscription : avril 2011 Messages : 47 ![]() |
Super, là apparemment cela fonctionne.
Cependant, je ne reçois rien à mon adresse mail... et l'expéditeur ne reçois rien non plus... Est-ce parce-que je passe par MAMP pour backtester ? Ou... est-ce dû à autre chose ?? |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com