Probleme formulaire

Signaler
Messages postés
23
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
27 janvier 2005
-
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012
-
bonjour j'ai fait un formulaire qui m'envoye un e-mail quand il est rempli
mais j'ai un probleme avec, il m'envoye un e-mail a chaque fois que quelqu'un va sur la page donc je me retrouve avec des formulaires non rempli
je ne suis pas bon en php j'espere que vous pourrez m'aider voici mon code :

<?php
{
mail ("daf59@free.fr","Reservation/Contact","
nom:$nom
prenom:$prenom
adresse:$adresse
ville:$ville
code Postal:$code
pays:$pays
tel:$tel
e-mail:$email
remarques:$message","From:daf59@free.fr");
}
?>




Nom:,

,

----

Prenom:,

,

----

Adresse:,

,

----

Ville:,

Code postal:

Pays:

,

----

Telephone:,

E-mail:

,

----

Remarque : ,

<textarea name="message" cols="63" rows="5"></textarea>
,

----

&nbsp;,

Merci de
bien remplir toutes les cases afin que votre demande soit correctement prise
en compte

&nbsp;

</form>

j'espere que vous pourrez m'aider
merci d'avance
;)

14 réponses

Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Salut,

tout d'abord, je n'ai pas vu (mais j'ai juste survole ton code) l'ouverture de la balise <form>, avec sa methode (POST, GET par exemple) et son action (ta page).
Ensuite, il faut que tu fasses un test sur le submit avant de lancer ton mail :
donc en haut de ta page, tu ajoutes :
if (isset($_POST['Submit'] || $_POST['Submit']=="Envoyer")) {
ton code pour l'envoie du mail
}

tout simplement.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Heu, avec une faute de syntaxe lol ...

if (isset($_POST['Submit']) || $_POST['Submit']=="Envoyer")

la c'est mieux.
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012

salut

je ne te serait d'aucune utilité pour php, je suis une bille...j'ai également posté pour
pb de formulaire.

par contre html, je connais.ton code html est franchement dépassé.
j'imagine un codage wisiwig...je me trompe?tout les attributs des balises
doivent se trouver dans des css.si tu te penche sur la question, tu remercieras
ces messieurs du http://www.w3.org/ (le w3c).çà permet de gagner un temps fou
lors de mise à jour, par exemple.les balises font,bgcolor,align sont obsolétes et la police bookman n'est pas forcément présente sur chaque disque...utilise des polices de substitutions
plus génériques, comme verdana au cas ou l'on ai pas envie de télécharger la police.
si tu ne connais pas les css, fait un tour içi.
http://css.maxdesign.com.au/index.htm
et aussi içi
http://www.alsacreations.com/articles/

ils ne savaient pas que c'était impossible, alors ils l'on fait.

mon modeste site
Messages postés
23
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
27 janvier 2005

je n'arrive pas a m'en sortir pourrai tu me donner le debut du code stp
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012

fichier php externe, envoi2.php


<?php
$mail="
nom=$nom;
prenom=$prenom;
adresse=$adresse;
ville=$ville;
code Postal=$code;
pays=$pays;
tel=$tel;
e-mail=$email;
remarques=$message";


[mailto:$recipient='daf59@free.fr' $recipient=]' ton mail ';
$subject='contact';
$mailheaders = "From= la page d'où le mail à été envoyer<> \n";


mail($recipient, $subject, $mailheaders, $mail);
?>


le fichier style.css


body {
margin: 0px;
text-align: center;
}
#centre {
margin-left: auto;
margin-right: auto;
width: 754px;
}
table {
background-color: #003366;
border: 1px;
border-color: #FFFFD0;

}
td {
color: #FFFFD0;
font-family: "bookman vieux style" Verdana, Arial, Helvetica, sans-serif;

}
.message {
font-family: Arial, Helvetica, sans-serif;
color: #FFFFD0;
font-size: 11pt;
}

pour les styles utilise topstyle de bradbury.tape topstyle dans google, c'est normalement le premier lien qui doit sortir.la version lite est excellente et gratuite.il est en anglais mais simple et il porte bien son nom...il est au top pour les css.profite aussi pour changer ton éditeur html...quand je vois le code qu'il fabrique...


le formulaire


<html>
<head>
<style media="screen" type="text/css">
<!-- @import url(style.css); -->
</style>
</head>



<form method="post" action="envoi.php">
Nom:,
,

----

Prenom:,
,

----

Adresse:,
,

----

Ville:,

Code postal:

Pays:
,

----

Telephone:,

E-mail:
,

----

Remarque :,
<textarea name="message" cols="63" rows="5"></textarea>,

----

&nbsp;,
&nbsp;&nbsp;&nbsp;


Merci de
bien remplir toutes les cases afin que votre demande soit correctement prise
en compte

&nbsp;

<!-- ne sert à rien en l'état, à supprimer.sauf si tu inséres quelque chose(texte,image).pour centrer du texte en ligne(dans la balise) utilise plutôt ceçi: style="text-align: center;"-->
</form>

</html>


la page comfirmation d'envoi, envoi.php


<html>
<head>
<title>comfirmation envoi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="robots" content="none">
<style media="screen" type="text/css"><!-- @import url(style.css); --></style>
</head>

<?php
include("envoi2.php");
?>

votre message à bien été envoyer.

place içi des liens pour revenir sur les page du site, par exemple, la page accueil.

</html>

voilà tu places le tout dans le même répertoire et çà roule.

un petit conseil, ne laisse jamais ton mail en clair sur un forum....spam, respam et encore du spam!

ils ne savaient pas que c'était impossible, alors ils l'on fait.

mon modeste site
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012

une autre chose, name et id sont identique et doivent être avoir les mêmes attributs.
voir les codes xhtml.je l'ai laissés tel que, mais ils doivent logiquement être changés.
tu peux aussi les supprimés. les id pas les name...

bonne chance.

ils ne savaient pas que c'était impossible, alors ils l'on fait.

mon modeste site
Messages postés
23
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
27 janvier 2005

j'ai essayer de faire ce que tu ma dit et ça ne fonctionne pas j'ai rien du tout
quand je pousse sur le bouton pour envoyer le formulaire il ne se passe rien
:(
help me please

;)
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012

salut

j'utilise les mêmes codes, à la virgule prés et il fonctionne.une question me vient.
ton hébergeur est il ifrance?
chez ifrance les scripts php doivent être placés dans répertoire spécial défini par eux.
il est possible que d'autre hébergeur utilise la même technique.
as tu bien placer tout les fichiers dans le même dossier?tout les chemins sont relatifs,
c'est donc important.
ce que tu peux faire, c'est publier les codes.se sera plus simple pour vérifier.change les adresses par [mailto:toto@fai.fr toto@fai.fr] et envoi.A+

ils ne savaient pas que c'était impossible, alors ils l'on fait.

mon modeste site
Messages postés
23
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
27 janvier 2005

non mon hebergeur est OVH je les ai mit tous dans le meme dossier et rien
donc voila les codes

contact.htm

<html>
<head>
<style media="screen" type="text/css">
<!-- @import url(style.css); -->
</style>
</head>



<form method="post" action="envoi.php">
Nom:,
,

----

Prenom:,
,

----

Adresse:,
,

----

Ville:,

Code postal:

Pays:
,

----

Telephone:,

E-mail:
,

----

Remarque :,
<textarea name="message" cols="63" rows="5"></textarea>,

----

&nbsp;,
&nbsp;&nbsp;&nbsp;


Merci de
bien remplir toutes les cases afin que votre demande soit correctement prise
en compte

</form>

</html>

envoi.php

<html>
<head>
<title>comfirmation envoi</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="robots" content="none">
<style media="screen" type="text/css"><!-- @import url(style.css); --></style>
</head>

<?php
include("envoi2.php");
?>

votre message à bien été envoyer.

place içi des liens pour revenir sur les page du site, par exemple, la page accueil.

</html>

envoi2.php

<?php
$mail="
nom=$nom;
prenom=$prenom;
adresse=$adresse;
ville=$ville;
code Postal=$code;
pays=$pays;
tel=$tel;
e-mail=$email;
remarques=$message";


$recipient=' ton mail ';
$subject='contact';
$mailheaders = "From= la page d'où le mail à été envoyer<> \n";


mail($recipient, $subject, $mailheaders, $mail);
?>

voila
Messages postés
23
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
27 janvier 2005

enfin bien sur j'ai changer la valeur de $recipient¨et de $mailheaders dans ma version pour tester
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012

salut!

alors là c'est clair!çà peux pas marcher...le bouton d'envoi doit être du type submit...hé oui!

voilà le code revu et corrigé.je l'ai charger sur un de mes serveurs il fonctionne.à toi de personnaliser la page confirmation d'envoi.

le formulaire

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style media="screen" type="text/css">
<!-- @import url(style.css); -->
</style>
</head>



<form method="post" action="envoi.php">
Nom:,
,

----

Prenom:,
,

----

Adresse:,
,

----

Ville:,

Code postal:

Pays:
,

----

Telephone:,

E-mail:
,

----

Remarque :,
<textarea name="message" cols="63" rows="5"></textarea>,

----

&nbsp;,
&nbsp;&nbsp;&nbsp;

</form>
Merci de
bien remplir toutes les cases afin que votre demande soit correctement prise
en compte

&nbsp;

<!-- ne sert à rien en l'état, à supprimer.sauf si tu inséres quelque chose(texte,image).pour centrer du texte en ligne(dans la balise) utilise plutôt ceçi: style="text-align: center;"-->

</html>

le fichier envoi.php retouché

<?php
$mail="
nom=$nom;
prenom=$prenom;
adresse=$adresse;
ville=$ville;
code=$code;
pays=$pays;
tel=$tel;
email=$email;
message=$message";


[mailto:$recipient='toto@freeland.fr' $recipient='toto@freeland.fr'];
$subject='contact';
$mailheaders = "From= formulaire.html<> \n";


mail($recipient, $subject, $mailheaders, $mail);
?>

tu peux me dire avec quels logiciels tu bosses?j'ai surfer sur ovh pour voir ce qu'il propose.
c'est un bon plan'A+



ils ne savaient pas que c'était impossible, alors ils l'on fait.

mon modeste site
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012

voilà le mail que je reçois

nom=robert;
prenom=eric;
adresse=250 rue des lapins;
ville=lens;
code Postal=23695;
pays=france;
tel=0232659658;
[mailto:e-mail=toto@wanadoo.fr e-mail=toto@wanadoo.fr];
remarques=aucunes!

From= form.html<>

c'est donc ok.ton problème est résolu.mais penche toi aussi sur le test submit décrit dans les premiers posts.

une dernière chose, le register_globals est sur on chez ovh...on évitera donc la méthod get.
par contre, php4 et php5 en même temps, c'est top.

ils ne savaient pas que c'était impossible, alors ils l'on fait.

mon modeste site
Messages postés
23
Date d'inscription
dimanche 10 août 2003
Statut
Membre
Dernière intervention
27 janvier 2005

ben on ma conseiller ovh donc que je l'ai prit
ça me semble pas mal
sinon je travaille avec dreamweaver MX
merci pour le code
Messages postés
145
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
1 mai 2012

pour dreamweaver, parametre le pour qu'il utilise les css plutôt que le html.tu auras moins de problème de code html invalide.

pour ovh, oui, c'était justement le sens de ma question...

pour le code, pas de pbs

ils ne savaient pas que c'était impossible, alors ils l'on fait.

mon modeste site