Problème avec un formulaire à envoyer

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec un formulaire à envoyer

formualire (résolu)

par smartrem » 24 oct. 2005, 10:51

Bonjour à tous.
J'ai enfin trouvé la réponse à cette question. Effectivement, le script était bon et le problème venait bien de chez OVH.
Il suffit de renommer le fichier formail.php en envoimail.php.
Je crois qu'ils ont un service d'installation d'un formail payant et que, pour éviter tout conflit, il faut lui donner un autre nom.
On peut donc considéré ce fil comme clos et résolu, un grand merci à tous les membres de chez php France qui ont su me donner un petit peu de leur temps aussi gentiement. :ordi:

formulaire

par smartrem » 21 oct. 2005, 10:28

Oui, donc comme mon fichier se trouve dans le dossier www, je pense donc que mon adresse est bonne. Par contre, pour essayer d'ajouter de l'eau au moulin de tout le monde, j'ai trouvé un petit logiciel qui agit en tant que serveur smtp en local et qui permet d'envoyer des mail avec easy php, sans faire de pub, on peut le trouver à l'adresse suivante: http://www.softstack.com/freesmtp.html
Je vais faire le test et faire remonter les résultats...

par zeus » 21 oct. 2005, 10:21

Tu répond à ta question en la posant !!!

Dans le header, tu doit mettre l'adresse qui te permet d'acceder au fichier !!!

si tes scripts se trouve à la racine du serveur de ton hebergeur, utilise http://bidule/truc
si tes scripts se trouvent dans un dossier www, utilise http://www.bidule/truc

formulaire

par smartrem » 21 oct. 2005, 10:17

Est-ce que cela change quelchose donc?

formulaire

par smartrem » 20 oct. 2005, 17:28

Ben oui, c'est comme tu dis.

par zeus » 20 oct. 2005, 17:20

bah ça dépend comment est-ce que tu appelle ta page dans ton header :
- http://www.truc/bidule => répertoire www
- http://truc/bidul => racine

formulaire

par smartrem » 20 oct. 2005, 17:18

J'ai eu un tilt là, mais visiblement chez OVH, pour avoir une adresse du type www., il faut tou mettre dans un dossier www à la racine du site, sinon l'adresse est du type http://domaine.com, cela change-t-il quelque chose?

formulaire

par smartrem » 20 oct. 2005, 17:16

J'ai fait la modif et ça ne marche toujours pas, page non trouvée!
( je n'ai pas oublié l'espace après Location:).
En paralèlle, j'attends une réponse de OVH, que je ne manquerai pas de vous transmettre.

par zeus » 20 oct. 2005, 17:05

Ca veut seulement dire que c'est ton hebergeur qui ne te permet pas d'utiliser header avec une url absolue

est ce que tu as essayé de remplacer
Header("Location: http://www.djalks.com/acheter.htm"); 
par
Header("Location: acheter.htm"); 
sur le serveur et pas en local ?

formulaire

par smartrem » 20 oct. 2005, 16:32

Là ça marche effectivement, je n'ai plus la page d'erreur, le problème vient donc du code php en lui même j'en déduis.
Est-ce qu'il y a moyen de garde le truc simple et que j'ai dans le mail que je reçois :
le nom du champ : la chose remplie
et c'est tout, je n'ai pas besoin de vérification ou de quoi que ce soit, le script que tu m'as donné est-il suffisant pour ce genre de chose?
PS : désolé pour les balises php, pas l'habitude des forums php...

par zeus » 20 oct. 2005, 15:46

déjà, quand tu poste du code, utilise les balise [ PHP ] qui sont au dessus de la zone de texte de saisie
En tant que modérateur, je l'ai fait pour toi ici mais pense y la prochaine fois ;)

ensuite, tente ce code là :
J'ai juste mis l'envoi de mail en commentaire
<?php
 $TO = "[email protected]";

$h  = "From: Commande de vinyl" . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}

//La ligne suivante est en commentaire pour ne pas envoyer de mail
//   et ne pas déclencher une erreur de serveur SMTP
//mail($TO, $subject, $message, $h);

Header("Location: http://www.djalks.com/acheter.htm"); 
?>

formulaire

par smartrem » 20 oct. 2005, 15:37

Oui alors là ça devient dur parce que changer un mail dans un fichier php, c'est facile mais là partir de zéro ça va être balèze.
A partir de ça
<?php
$TO = "[email protected]";

$h  = "From: Commande de vinyl" . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
  $message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://www.djalks.com/acheter.htm");

?>
je garde quoi exactement?

par zeus » 20 oct. 2005, 15:27

commente la ligne qui contient la fonction mail(), pour les tests. On verra si l'envoi de mail fonctionne après que tu ais réussi le header

formulaire

par smartrem » 20 oct. 2005, 12:17

Alors j'ai mis le site dans le dossier www de easy php, je lance, je me connecte sur le site, je vais sur la page du formulaire et quand je lance j'obtiens ça :

Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\program files\easyphp1-8\www\fresh sytle\formmail.php on line 12

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\fresh sytle\formmail.php:12) in c:\program files\easyphp1-8\www\fresh sytle\formmail.php on line 14

Je crois qu'il y a de ça non?

par zeus » 20 oct. 2005, 12:06

Dans le répertoire d'install de EasyPHP, tu as un répertoire www.

Dans ce répertoire, tu met un dossier qui contient tes scripts php

Puis tu lances ton explorateur préféré et dans la barre d'adresse, tu tapes http://127.0.0.1/

La page qui doit être affichée doit contenir le nom de ton dossier, tu cliques dessus et il doit exécuter le script index.php