|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Invité régulier
![]() faycal elgharbi Inscription : octobre 2009 Messages : 21 ![]() |
bonjour tout le monde,
J'écris ce post car je ne sais vraiment plus quoi faire avec ce probléme. Voila,je suis en train de développer un site web en symfony avec un formulaire contact qui envoie un mail pour des renseignements ou autre. Le probleme c'est que en test, tout marche nickel ,et le mail est bien envoyé. Sauf qu'en prod (Je suis chez ovh),j'ai un 404 not found. Je vous mets l'action de la page contact Code :
Code :
Citation:
Je crois que l'erreur vient du passage de contacts a submit,mais je sais vraiment pas quoi faire. Je trouve ca vraiment bizarre. Merci pour tout aide |
|||||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() |
je suis pas pro, mais apparemment, quand tu envoie vers la page d’envoi du formulaire, tu a avec http_build_query une adresse du type /monappli/monmodule/mapage/paramaetre1/parametre2/parametre3 etc
Il faudrait peut-être passé directement le formulaire ou essayé autre chose. |
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() faycal elgharbi Inscription : octobre 2009 Messages : 21 ![]() |
Salut Hugo,
Je doute que ca soit ca. Le truc que je comprends pas c'est pkoi en dev tout marche bien et en prod non!!! J'ai déja éssayé de faire passer le formulaire direct (envoyer le mail direct) mais ca n'a pas l'air de trop marcher. Ca doit pas être un pb de configuration plutot? |
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Vérifie que sur ton serveur dans la configuration de apache, le mod_rewrite soit bien actif.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() faycal elgharbi Inscription : octobre 2009 Messages : 21 ![]() |
Bonjour,
Je suis vraiment désolé du retard de ma réponse. Tout d'abord Michel, je sais pas comment je fais cette vérification. Ensuite,je crois et vu que j'ai l'offre de base d'ovh que je ne dois pas avoir cette option. Sinon,je pensais a ne pas rediriger et envoyer directement mon mail a partir de l'action contact (en changeant l'action dans la vue) mais je sais pas pkoi mes arguments ne sont pas pris en compte. En gros, je prend le code qui est dans l'action de submit et je le met directement dans l'action contacts. Ce qui donne un code comme celui la : Code :
Comment pourrais je faire? Merci pour tout |
||
|
|
00
|
|
|
#6 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je sens une confusion importante et une masse de question que je n'arrive pas à isoler au seins de ta prose.
Pour le mod_rewrite fait dans ton dossier web un simple fichier test.php qui va comprendre le code suivant : et tu l'exécutes depuis ton explorateur. Tu auras ainsi la configuration de php et les modules activés. De mémoire, le mod_rewrite est activé chez OVH. Pour les autres questions, soit tu traites l'une après l'autre, soit tu es plus précis dans tes demandes, là, c'est trop confus pour que je puisse faire le tris.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() faycal elgharbi Inscription : octobre 2009 Messages : 21 ![]() |
J'ai trouvé que le mod_rewrite était activé (dans le fichier .htaccess)
Sinon, je vois pas ou il ya confusion, puisqu'au lieu de rediriger vers l'action submit, je veux directement envoyer mon mail (c'est a dire faire ce que fait l'action submit mais dans contact cette fois). Mais le problème est que je n'arrive pas a récupérer les valeurs passer dans le formulaire qd je veux envoyer le mail. |
|
|
00
|
|
|
#8 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
L'age aidant, il m'arrive de switcher d'un message d'aide à l'autre et de répondre complètement à côté de la plaque pour celui qui à eu le malheur de vaguement ressembler à l'autre.
Tu es celui-ci. ![]() Dans le cadre d'un envoie d'email, le mod_rewrite n'a rien a voir. Pourrais-tu essayer de remplacer dans executeContacts la commande $this->redirect('mopsol/submit?'.http_build_query($this->form->getValues())); par $this->forward('mopsol/submit?'.http_build_query($this->form->getValues()));. Pour voir...
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#9 | ||||
|
Invité régulier
![]() faycal elgharbi Inscription : octobre 2009 Messages : 21 ![]() |
Merci
Ce n'est pas la bonne syntaxe pour forward Code :
Code :
Mais tu crois pas que ce qui pose plutot probleme dans mon cas serait plutot le http_build_query qui ne serait pas supporté dans mon serveur? Pourrais tu voir pkoi mon post d'hier de 14:01 ne marche pas (je n'utilise pas le http_build_query). |
||||
|
|
00
|
|
|
#10 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Dans le cas du forward tu n'as pas besoins de passer les données vu que le request reste identique (à la différence du redirect).
Effectivement, j'ai juste remplacé redirect par forward, mais forward ne permet pas de passer des paramètres, sans intérêt vu que que l'on reste dans la même instance du programme. Donc la commande deviendrait : $this->forward('mopsol','submit')D'un autre côté, si tu dois exécuté cette opération depuis plusieurs action mais jamais depuis un appel de type GET ou POST, tu aurais plutôt intérêt à faire soit une fonction, soit un objet et à l'utiliser, plutôt que de faire appel à une action (au sens symfony) qui est plus lourde à gérer. J'ai regardé ton code, il est à priori viable, mais je ne vois pas l'intérêt du form, ni du valide sur le form (mais il faudrait voir le code du form). La récupération des paramètres du request me semble plus logique. Réfléchi à réécrire ton action dans une fonction globale.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#11 | ||
|
Invité régulier
![]() faycal elgharbi Inscription : octobre 2009 Messages : 21 ![]() |
Le form est pour le formulaire d'envoi de mail dont voici son code ici:
Code :
J'y arrive seulement en faisant le redirect avec http_build_query. |
||
|
|
00
|
|
|
#12 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
L'idée est dans l'action qui reçoit la demande, de vérifier le form par bind et is_valid. Puis de récupérer les données depuis le form (par un getValues() par exemple).
De là, tu peux préparer l'appel d'une fonction interne qui enverra la demande, sans passer par un forward ou un redirect. Laisser un lien url susceptible d'envoyer un message sans contrôle signifie que n'importe qui pourrait ce servir de ton application pour envoyer directement un message à n'importe qui d'autre.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() faycal elgharbi Inscription : octobre 2009 Messages : 21 ![]() |
Bon,
Je suis arrivé a faire marché le truc En utilisant au lieu de Et cela sans faire de redirection !! Je ne comprends tjrs pas pkoi getParameter ne me donne rien... Mais bon j'ai ce que je veux Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com