Problème de formulaire "script dans Cgi-bin et en php"

Signaler
Messages postés
6
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009
-
Messages postés
6
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009
-
Bonjour, tout d'abord très bonne année 2009.
N'étant pas un professionnel de l'informatique, j'ai moi-même réussi à créer mon site Web http://www.angelica-deco.com

J'étais hébergé par la société Lycos qui malheureusement va cesser son activité.
J'ai dû changer de fournisseur qui hélas pour moi n'accepte pas mes codes pour mon formulaire de contact.
Mon nouvel hébergeur me demande d'insérer un script dans Cgi-bin et en php et je n'y connais absolument rien à tous ces noms de code.

Y a-t-il un code à insérer ?
Pourriez-vous m'aider à modifier les codes de ma page contact http://www.angelica-deco.com/telephone.htm pour voir où est le problème.
Merci Stéf


Mes codes sources pour mon formulaire de contact :





---- |
Vous êtes :


Un Particulier
Un Professionnel
|

----

Surface habitable ? |

m² |

----

Nombre de pièces pour vos travaux ? |

Nombre de pièces ?
1 pièce
2 pièces
3 pièces
4 pièces
5 pièces
Plus de 5 pièces
La totalité
|

----

Quel type de bien avez-vous ? |

Quel type de bien ?
Chambre de bonne
Studio
Appartement
Maison/Pavillon/Villa
Magasin/Commerce
Hôtel particulier
Château
Loft/Atelier
Local commercial
Bureau
Hôtel
Restaurant
Bar
Discothèque
Autres
|

----

Budget en € pour vos travaux ? |
|

----

Budget en € pour l'achat de meubles ? |
|

----

Type de conseils souhaités ? |



----

Conseils décoration,

----

Conseils et travaux,

----

Conseils et achat de meubles,

----

Conseils, achat de meubles et travaux,

----

Me laisser carte blanche de A à Z











Comment m'avez-vous connu ?
Site web
Presse
Recommandation
Liens - Partenaires






Vos coordonnées





Votre e-mail :








Description de votre projet :














Civilité :




Monsieur
Madame
Mademoiselle






Votre prenom :









Votre nom :









Votre adresse :









Votre code postal :









Votre ville :









Votre pays :









Votre téléphone :









Photo ou plan à envoyer (maxi 200 kO)





































8 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Salut,

(Début d'explication, je ne suis vraiment pas spécialisé appli web).

Une appli Web, en deux mots, c'est quoi ? Un serveur et un client. Le serveur est un serveur Web, le client est un navigateur. Le navigateur demande au serveur Web une page. Le serveur répond par du HTML. Le HTML est affiché dans le navigateur.

Sur ton serveur, tu as probablement une page HTML telephone.htm. Quand le navigateur demande cette page, le serveur lui envoie simplement le fichier.

Quand l'utilisateur appuie sur le bouton "envoyer", le navigateur va envoyer la form au serveur. Il va en fait envoyer un certain nombre d'information saisies par l'utilisateur dans le html. Il envoie qu'il y a ça dans le champ machin, ça dans le champ truc...

Le serveur reçoit tout ça. Dans ton cas, j'imagine qu'il est censé t'envoyer un mail avec les informations stockées dans les champs.

Mais cela ne va pas se faire par l'opération du sain esprit. Il faut que tu dispose, sur ton serveur Web, d'un code exécutable par celui-ci. Il se trouve que le PHP est un langage de programmation qui est souvent exécutable par les serveur Web.

Comment le serveur Web va-t-il savoir quel code il doit exécuter lorsque les champs remplis par l'utilisateur vont lui parvenir ? C'est le navigateur qui lui fourni cette information en même temps que les champs. Dans ton code ci-dessus :

<form enctype="multipart/form-data" method="post" action="/cgi-bin/mailer">

Le navigateur envoie donc la requête avec le contenu des champs à /cgi-bin/mailer. Il faut donc que tu dispose d'un script PHP mailer.php : http://www.angelica-deco.com/cgi-bin/mailer.php.

C'est ce que t'as demandé ton nouveau fournisseur.
Messages postés
6
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009

C'est vraiment très sympa d'y avoir répondu...désormais ça marche
En revanche, je n'ai plus la redirection sur une de mes pages après l'envoi d'un e-mail sur mon formulaire de contact.

                                                 

                                                Le code est ok: 
                                                Le code est ok: 
                                             ça ne marche pas: 
                                             ça ne marche pas. y a-t-il un autre code pour la redirection de cette page ? : 
                                           
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Lorsque l'utilisateur clique sur envoyer, le navigateur ne fait qu'envoyer un champ GOTOURL avec la valeur spécifié. Il fait de même que pour les input type="text" qui contiennent le nom de l'utilisateur, ses coordonnées... Ce code n'a pas de signification particulière pour le navigateur.

C'est ton appli cgi/php mailer qui sait que le champ "GOTOURL" doit contenir une adresse de redirection, que le champ "Prenom" contient un prénom.

Donc c'est le code du mailer qu'il faut que tu étudie.
Messages postés
6
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009

Que dois-je modifier ou  quel code dois-je insérer pour faire une redirection sur une de mes pages " par exemple " http://www.angelica-deco.com/questions.html
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Il me semble que tu n'as pas vraiment le choix : la form est envoyée à mailer. C'est à mailer, côté php, de réaliser la redirection.

Tu peux faire la redirection à l'aide de la fonction header. Attention à bien lire les remarques sur cette fonction.

Dans le code orignal, la changement de page était visiblement dynamique, paramétré avec ce que l'on mettait dans l'input GOTOURL.

Le code devait donc ressembler à ça (Quelque part dans le php du mailer, côté serveur) :

header('Location: '.$_POST['GOTOURL']);

$_POST est un tableau associatif clé -> valeur qui contient les données postées par le navigateur.

Pourquoi cela ne fonctionne-t-il plus ? Mystère.
Messages postés
6
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009

Sincèrement désolé de t'importuner avec sa.
Dois-je insérer ce code : header('Location: '.$_POST['GOTOURL']value="http://www.angelica-deco.com/questions.html">
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Argh ! On dirait que l'on ne s'improvise pas développeur...

header('Location: '.$_POST['GOTOURL']value="http://www.angelica-deco.com/questions.html">

Comment dire... D'un côté il y a le PHP de l'autre le HTML. On ne mélange pas les deux. Enfin si, mais quand on sait ce qu'on fait.

Tiens, je remarque que sur ta page, tu n'as pas (Comme précisé dans ton premier post) :
<form enctype="multipart/form-data" method="post" action="/cgi-bin/mailer">

mais :
<form method="post" action="/cgi-bin/send_form_mail.php.cgi">

Le fonctionnement des ces deux applis (mailer vs send_form_mail.php.cgi) est peut être différent ? Ou c'est la même appli ? Si elles sont différentes, cela expliquerait que l'input GOTOURL ne soit plus exploitée.

send_form_mail.php.cgi doit être un utilitaire que tu as dû récupérer quelque part. Ah tiens voilà un source qui l'utilise.

Avec cette ligne dedans :

Donc dans ton code (HTML...) il faut que tu remplaces :

par


J'ai essayé en modifiant la page dans mon navigateur et ça marche.
Messages postés
6
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
21 janvier 2009

Ça marche enfin

Merci ! Merci 1000 fois pour tout ce temps que tu as pris pour moi.

je te souhaite plein de bonnes choses pour cette nouvelle année.

Stéphane