Problème de formulaire

Catwoman06
Invité n'ayant pas de compte PHPfrance

22 mai 2006, 18:56

Bonjour j'ai un soucis avec un formulaire :
Je le rempli, je l'envoie, le message de confirmation d'envoi apparait, mais le formulaire n'arrive jamais à destination ! :cry:
Ci-dessous, ma page de code form2mail.php3
<?php

// IMPORTANT VOUS DEVEZ CONFIGURER
// L'ADRESSE EMAIL DE DESTINATION
$dest="[email protected]";

// on recupere les infos
$referer= getenv("HTTP_REFERER");

// validation de forme 
//
// ici inserer si besoin
// les tests de validites
// (syntaxe, champ obligatoire)
// des champs de la forme
// ...
// mettre $ok a faux si c'est un echec


$ok=1;

if($ok){
 // envoi du resultat par email
 $sujet= "Form2Mail de ".$referer;
 $body.="Page d'origine : $referer\n";
 $body.="\n*** Valeurs resultats ***\n";

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

 if(count($HTTP_GET_VARS)){
    while (list($key, $val) = each($HTTP_GET_VARS)){
      $body.="$key : $val\n";
    }  
 }

 $body.="*************************\n";
 if(!mail("webmaster",$dest,$sujet,$body)){
     print "erreur envoi email <br>";
 }

// affiche le html qui suit si succes
?>
<html>
<head><title>message_envoye</title></head>
<body bgcolor="white">
<h1> Votre message a bien été transmis</h1>Notre service commercial va le traiter et revenir vers vous au plus vite.
		<p><a href="http://www.notresite.com">Revenir &agrave; la page d'accueil</a></p>
		<p></p>
		
	</body>
</html>
<?php
}
// affiche le html qui suit si erreur
// 
else{
?>
<html>
<head><title>erreur_formulaire</title></head>
<body bgcolor="white">
<h1> Erreur de formulaire </h1>
<p>Une erreur c'est produite. Vous pouvez nous envoyer un message par e-mail : <p>
<p><a href="mailto:[email protected]" target="_blank">[email protected]</a> </p>
<p><a href="http://www.notresite.com" target="_blank">Revenir &agrave; la page d'accueil</a></p>
</body>
</html>
<?php
}
?>
et maintenant ma page contenant le formulaire :

Code : Tout sélectionner

<form action="form2mail.php"> <table border="0" cellpadding="4" cellspacing="4" width="100%"> <tbody> <tr align="left" valign="top"> <td align="undefined" valign="undefined"><img style="width: 4px; height: 4px;" alt="" src="serantoni/img/4px.gif"></td> <td height="27"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">&nbsp;</font></td> <td colspan="3" height="27"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input name="civilite" value="Mademoiselle" type="radio">Mlle <input name="civilite" value="Madame" type="radio">Mme <input name="civilite" value="Monsieur" type="radio">Mr </font></td> </tr> <tr align="left" valign="top"> <td align="undefined" valign="undefined"></td> <td height="30" width="18%"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2">Nom et pr&eacute;nom *</font></b></p> </td> <td colspan="3" height="30"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><input name="lastname" id="lastname" size="50" type="text"></font></b></p> </td> </tr> <tr align="left" valign="top"> <td align="undefined" valign="undefined"></td> <td height="90" width="18%"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2">Adresse : <br> <font size="1">Nom de la r&eacute;sidence<br> Entr&eacute;e<br> Etage </font></font></b></p> </td> <td colspan="3" height="90"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><textarea name="adresse" cols="50" rows="4" id="adresse"></textarea></font></b></p> </td> </tr> <tr align="left" valign="top"> <td align="undefined" valign="undefined"></td> <td width="18%"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2">Code postal </font></b></p> </td> <td width="31%"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><input name="cp" id="cp" maxlength="5" type="text"></font></b></p> </td> <td width="18%"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="3"><font size="3"><font size="3"><font color="#000000"><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2">Ville</font></font></font></font></font></b></p> </td> <td width="33%"><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input name="ville" id="ville" size="30" type="text"> </font></b></td> </tr> <tr align="left" valign="top"> <td align="undefined" valign="undefined"></td> <td width="18%"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2">T&eacute;l&eacute;phone *</font></b></p> </td> <td width="31%"> <p><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"><input name="telephone" id="telephone" maxlength="10" type="text"> </font></b></p> </td> <td> </td> <td></td> </tr> <tr align="left" valign="top"> <td align="undefined" valign="undefined"></td> <td width="18%"><b>Adresse e-mail * </b></td> <td width="31%"><b><font color="#000000" face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input name="email" id="email" value="[email protected]" size="35" type="text"> </font></b></td> [..] <input name="ok" value="envoyer" type="submit"></font></b></td> </tr> </tbody> </table> </form>

Mammouth du PHP | 19672 Messages

22 mai 2006, 19:37

La formulation $HTTP_POST_VARS est obsolete tout comme $HTTP_GET_VARS : à remplacer respectivement par $_POST et $_GET

Teste déjà ça et on regardera la suite.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

23 mai 2006, 11:09

Salut Cyrano,

J'ai fait les deux modif' mais ça n'a rien changé !
Alors, qu'est-ce que je fais maintenant ?

Mammouth du PHP | 536 Messages

23 mai 2006, 11:16

peut etre que le probleme ne vient pas de tes pages mais de la configuration de php.ini
non? tu as vérifié?
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Invité
Invité n'ayant pas de compte PHPfrance

23 mai 2006, 11:23

C'est quoi php.ini ????

Mammouth du PHP | 536 Messages

23 mai 2006, 11:29

il s'agit d'un fichier de configuration
Il contient les parametres de php
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Invité
Invité n'ayant pas de compte PHPfrance

23 mai 2006, 11:33

ok, je la trouve où cette bête-là sur OVH je suppose et j'y fais quoi ?

Mammouth du PHP | 536 Messages

23 mai 2006, 11:37

je suis pas sur de moi, peut etre que je me trompe aussi
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Invité
Invité n'ayant pas de compte PHPfrance

23 mai 2006, 11:38

dis toujours au point ou j'en suis, je peux toujours regarder !

Mammouth du PHP | 536 Messages

23 mai 2006, 11:40

a vrai dire, je ne sais pas ou le trouver sur ovh, je ne sais meme pas si on peut le modifier. Je pensais que tu travaillais en local, c'est pour ca que je t'ai conseillé de vérifier les parametres de php.ini

Ton probleme doit venir d'ailleurs
Peut etre que la fonction mail() ne marche aps sur ovh tout comme elle ne marche pas sur free
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Eléphanteau du PHP | 13 Messages

23 mai 2006, 11:47

J'étudie toute proposition de changement...
tant que j'arrive à faire marcher ce foutu formulaire et qu'on peut le revevoir dans une boite e-mail avec les infos trransmises par mon visiteur, je prends !
La puissance n'est rien sans une pointe de finesse !

Avatar du membre
ViPHP
ViPHP | 3008 Messages

23 mai 2006, 11:48

Peut etre que la fonction mail() ne marche aps sur ovh tout comme elle ne marche pas sur free
La fonction mail() est activé sur les deux béka :) (limité sur free)

Catwoman, dans ton formulaire tu mets "form2mail.php" mais dans le code que tu nous a fourni, tu as dit l'avoir appelé "form2mail.php3" c'est normal ?

Invité
Invité n'ayant pas de compte PHPfrance

23 mai 2006, 11:57

Comme ovh tourne sur php 4 et 5 j'ai fais le test avec les fichier en .php3 et en .php
Mais le résultat est le même
J'ai juste coller le code avec la mauvaise extension dans le forum. Mais à part ce petit détail, c'est les 2 même codes

Avatar du membre
ViPHP
ViPHP | 3008 Messages

23 mai 2006, 12:01

Un conseil, corriges ta page de formulaire, elle est horrible "codement" parlant lol

Dans ton formulaire tu mets juste l'action : <form action="form2mail.php">

Essaies de rajouter la method pour voir :

Code : Tout sélectionner

<form action="form2mail.php" method="post" name="mailenvoi">
Ce n'est pas plus propre comme ça ? (tu avais une erreur HTML, manque de balise en plus)

Code : Tout sélectionner

<form action="form2mail.php" method="post" name="mailenvoi"> <table border="0" cellpadding="4" cellspacing="4" width="100%"> <tr valign="top"> <td><img style="width: 4px; height: 4px;" alt="" src="serantoni/img/4px.gif"></td> <td height="27">&nbsp;</td> <td colspan="3" height="27"><input name="civilite" value="Mademoiselle" type="radio" />Mlle <input name="civilite" value="Madame" type="radio">Mme <input name="civilite" value="Monsieur" type="radio" />Mr</td> </tr> <tr valign="top"> <td>&nbsp;</td> <td height="30" width="18%">Nom et pr&eacute;nom *</td> <td colspan="3" height="30"><input name="lastname" id="lastname" size="50" type="text" /></td> </tr> <tr valign="top"> <td>&nbsp;</td> <td height="90" width="18%">Adresse :<br />Nom de la r&eacute;sidence<br />Entr&eacute;e<br />Etage</td> <td colspan="3" height="90"><textarea name="adresse" cols="50" rows="4" id="adresse"></textarea></td> </tr> <tr valign="top"> <td>&nbsp;</td> <td width="18%">Code postal</td> <td width="31%"><input name="cp" id="cp" maxlength="5" type="text"></td> <td width="18%">Ville</td> <td width="33%"><input name="ville" id="ville" size="30" type="text"></td> </tr> <tr valign="top"> <td>&nbsp;</td> <td width="18%">T&eacute;l&eacute;phone *</td> <td width="31%"><input name="telephone" id="telephone" maxlength="10" type="text"></td> <td>&nbsp;</td> <td>&nbsp;</td> </tr> <tr valign="top"> <td>&nbsp;</td> <td width="18%">Adresse e-mail *</td> <td width="31%"><input name="email" id="email" value="[email protected]" size="35" type="text"></td> <td>[..] <input name="ok" value="envoyer" type="submit"></td> </tr> </table> </form>
Utilises les CSS pour la forme.

Invité
Invité n'ayant pas de compte PHPfrance

23 mai 2006, 12:51

Bon j'ai fais comme tu m'as conseillé. En fait, le code est très moche car j'ai un éditeur qui me rajoute plein code alors que je ne lui demande rien...
Et, ça fonctionne toujours pas ! :cry:

Et il manquerait pas un bout dans form2mail.php ?