PHP, HTML et Formulaire

Résolu/Fermé
nab13 Messages postés 54 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 18 juillet 2016 - 23 mars 2008 à 03:47
 nab13 - 29 avril 2008 à 18:22
Bonjour a tous,
J' ai un problème avec un formulaire de contact qui ne marche plus du jour au lendemain ! Allez savoir pourquoi.

Voici le form :
<form action="traitement3.php" id="mail" method="post" style="text-align:right;background-color:#cccccc;border:4px solid black;padding:10px">
<ul>
<li>
Votre nom : <INPUT type="text" name="nom">
</li>
<li>
Votre prénom : <INPUT type="text" name="prenom">
</li>
<li>
Votre e-mail : <INPUT type="text" name="adressemail">
</li>
<li>
Téléphone : <INPUT type="text" name="tel">
</li>
<li>
Votre adresse : <INPUT type="text" name="adresse">
</li>
<li>
Code postal : <INPUT type="text" name="cp">
</li>
<li>
Ville : <INPUT type="text" name="ville">
</li>
</ul>
<INPUT type="submit" value="Envoyer">
<input type="reset" value="Effacer">
</form>


et voici la partie PHP

<?php

$objet = "contact";
$destinataire = "monemail";

if (!isset($_POST['nom'],$_POST['prenom'],
$_POST['cp'],$_POST['email'],
$_POST['adresse'],$_POST['tel'],$_POST['ville'])){
header ('location: contact.html');
}

$entete = "MIME-Version: 1.0\r\n";
$entete .="From: {$_POST['prenom']} {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$entete .='Reply-To: '.$_POST['email']."\r\n";
$entete .='Content-Type: text/plain; charset="iso-8859-1"';
$entete .="\r\n Content-Transfer-Encoding: 8bit \r\n";
$entete .='X-Mailer:PHP/' . phpversion()."\r\n";

$message =
" Nom : ".$_POST['nom'].
"\r\n ". "\r\n ".
"Prenom : ".$_POST['prenom'].
"\r\n ". "\r\n ".
"mail utilisateur : ".$_POST['email'].
"\r\n ". "\r\n ".
"tel : ".$_POST['tel'].
"\r\n ". "\r\n ".
"adresse : ".$_POST['adresse'].
"\r\n ". "\r\n ".
"cp : ".$_POST['cp'].
"\r\n ". "\r\n ".
"ville : ".$_POST['ville'].
"\r\n ". "\r\n ";

$corps = $message;

if (mail($destinataire,$objet,$corps,$entete )){

$message='Votre message a correctement été envoyé';
} else {

$message='Une erreur est survenue lors de l' envoie du mail';
}

?>

Je sais que cela ne doit pas être optimisé mais bon cela me suffisait.
Si quelque un a le courage de me corriger cela serait sympas
Merci d' avance
A voir également:

6 réponses

Salut,

je dis peut-être une bêtise mais il me semble que le tableau de variables $_POST est utilisable seulement si le paramètre de configuration du serveur "register_global" est mis sur ON. Donc c'est à vérifier sur le phpinfo() du serveur.
Si c'est sur OFF alors il faut revenir à $HTTP_POST_VARS dans ce cas ce qui était "la norme" avant la version 4.1.0 de PHP, ou bien alors remettre sur ON. C'est une explication possible de ce non-fonctionnement subit de ton formulaire.
Sinon encore la fonction mail() désactivée peut-être ? Tu peux utiiser la fonction avec un message déja défini hors formulaire ??

Merci de nous informer de la résolution éventuelle ou non.

Ouaibeur ;-D

p.s. : merci de me corriger si j'ai dit des bêtises.
0
nab13 Messages postés 54 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 18 juillet 2016 12
23 mars 2008 à 12:21
Salut,

Merci pour ta réponse si rapide.
Alors coté serveur tout est ok et la fonction mail marche sans passé par le script mais bon le problème avec ca, c' est que mon e-mail est facilement repérable par les spammeurs ou autres.
Pâques oblige je n' essaierai la méthode $HTTP_POST_VARS que ce soir. Et à ce sujet dois-je changer quelque chose dans ma balise form, dans method="post" par exemple ?

Joyeuse Pâques et merci !
0
nab13 Messages postés 54 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 18 juillet 2016 12
23 mars 2008 à 20:52
Bonsoir,
Allez savoir pourquoi mais ca remarche !

Merci pour ton aide
0
Ouaibeur Messages postés 1 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 25 mars 2008
25 mars 2008 à 01:53
C'est le propre de l'informatique de tomber en panne subitement et de refonctionner sans raison apparente (bien sur y en aura toujours pour dire que tout s'explique de manière rationnelle dans ce domaine).
Content que ton problème soit résolu :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
open site Messages postés 6 Date d'inscription mardi 29 avril 2008 Statut Membre Dernière intervention 30 avril 2008
29 avril 2008 à 16:09
Bonjour à tous,

Je suis un tout nouveau créateur de site internet et il me manque quelques ficelles :
Pouvez me dire comment interdire l'accès au site au moins de 18 ans par la saisie de leur date de naissances : est-il possible de le faire en XHTML ?

Et pour finir : pouvez-vous me donnez le modèle d'une fiche d'inscription avec si possible des choix en menu déroulant.

Je vous remercie par avances pour vos réponses.

Cordialement
0
Salut,
Pour l'interdiction au moins de 18 ans tu peux le faire en javascript. Un applet qui verifit l'age avant de lancer une page.

Voici par exemple :

test.js :

function verification(ao_form){

var age = ('2008' - (ao_form.an.value));

if(age<'18') {
alert('Vous n etes pas autorisé à rentrer sur ce site');
return false;
}
return true;
}



test.html :

<!DOCTYPE HTML PUBLIC "-//W3C//DTH HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dTH">
<html xmlns="http://www.w3.org/1999/xhtml" lang="eng" xml:lang="eng">
<head>
<script src="test.js" type="text/javascript"></script>
</head>
<body>
<form action="test.php" id="mail" method="post" onsubmit="javascript: return verification(this)">
Entrez votre année de naissance :
<INPUT type="text" name="an"><br><br>
<INPUT type="submit" value="Envoyer">
<input type="reset" value="Effacer">
</form>

</body>
</html>




test.php :

<!DOCTYPE HTML PUBLIC "-//W3C//DTH HTML 4.01//EN"

"http://www.w3.org/TR/html4/strict.dTH">
<html xmlns="http://www.w3.org/1999/xhtml" lang="eng" xml:lang="eng">
<head>
<script src="test.js" type="text/javascript"></script>
</head>
<body>
BIENVENUE
</body>
</html>



Pour creer un formulaire , tu peux aller voir ici : https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples

Voila...
0