Page 1 sur 1

PHP 5 et Formulaire

Posté : 22 sept. 2006, 00:04
par jpsartre
Bonjour,
La page qui me pose problème est hébergée sur serveur avec PHP5.
Je ne sais pas si le problème vient de là.
En fait, j'ai fait un formulaire. Mais je ne reçois pas le contenu :
************ Le 21/09/2006 22:30:43 ***********

NOM :
SOCIETE :
MAIL : (pas d'email)
TEL :
*****************************************************

*****************************************************
Je ne comprends pas et ça fait un moment que je suis dessus :cry:
Si quelqu'un peut m'aider :
	 <? 
	  if(isset($_POST['submit']))
		  {
	$Lang = 'FR';
	switch ($Lang)
	{
		case 'FR':
			$OK =  '<p><strong>Votre m&eacute;ssage a bien &eacute;t&eacute; envoy&eacute; - Nous vous contacterons prochainement</strong></p>';
			$ERR = '<p><strong>Il y a eu un probl&egrave;me lors de la transmission, vous pouvez nous envoyer un <a href="mailto:[email protected]">mail</a></strong></p>';
		break;
	}

	/* Verif & Init variables */
	if (empty($mail))   $mail = "(pas d'email)";
//	$host = gethostbyaddr($REMOTE_ADDR);
	$date = date("d/m/Y H:i:s");

	$f_sujet='**** Site Web : Demande de renseignements';
	$f_msg  = "************    Le $date    ***********\n\n";
	$f_msg .= "NOM : $nom\n";
	$f_msg .= "SOCIETE : $societe\n";
	$f_msg .= "MAIL : $mail\n";
	$f_msg .= "TEL : $tel\n";
	$f_msg .= "*****************************************************\n";
	$f_msg .= $message;
	$f_msg .= "\n*****************************************************\n";
//	$f_msg .= "Envoyé par $host ($REMOTE_ADDR),\n";

	$entetedate  =  date("D, j M Y H:i:s -0600");
	$entetemail  =  "From: $mail\n";
	$entetemail .=  "Cc:\n";
	$entetemail .=  "Bcc:\n";
	$entetemail .=  "Reply-To: $mail\n";
	$entetemail .=  "X-Priority: 1\n";
	$entetemail .=  "X-Mailer: PHP/" . phpversion() . "\n" ;
	$entetemail .=  "Date: $entetedate";

	$resp = @mail ( '[email protected]', $f_sujet, $f_msg, $entetemail );

	if ($resp) echo $OK; else echo $ERR;
	}
?>
	    <form id="form" method="post" action="contact.php"> 
  <fieldset>             
        <legend>Renseignements</legend> 
       <p><label for="nom"> 
          <input name="nom" type="text" id="nom" size="40" maxlength="100" /> 
        Nom 
      </label> </p>
      <p><label for="societe"> 
          <input name="societe" type="text" id="societe" value="" size="40" maxlength="100" />
          Soci&eacute;t&eacute; </label>
        </p> 
	   <p><label for="mail"> 
          <input name="mail" type="text" id="mail" value="" size="40" maxlength="100" />
          Mail * </label>
        </p> 
	   <p><label for="tel"> 
          <input name="tel" type="text" id="tel" value="" size="40" maxlength="100" />
          Tel * </label>
        </p> 
        <p> 
          <label for="message">
          <textarea name="message" cols="40" rows="10" id="message">Votre message</textarea>
           </label>
        </p>
        <input name="submit" type="submit" value="Envoyer" />  
  </fieldset>                 
</form>
J'espère que quelqu'un saura me dire où est le problème,

Merci

Posté : 22 sept. 2006, 00:09
par @rthur
Bonjour,

Commence par retirer l'arobace devant la fonction mail(), peut être qu'un message d'erreur apparaitera ;)

Posté : 22 sept. 2006, 00:16
par jpsartre
J'ai enlevé le @ mais malheureusement je n'a pas eu de message d'erreur.
Le mail est bien envoyé, j'ai le message de confirmation.
Mais je ne reçois pas les valeurs du formulaire.

Si vous avez une idée...

Merci

Posté : 22 sept. 2006, 00:26
par @rthur
As tu essayé sur une autre boite mail (celle de ton FAI par exemple) ou sur un autre serveur web?

Si tu fais une page web avec juste la commande suivante, reçois-tu le message:
<?php
mail("[email protected]","Test","Message de test");
?>

Posté : 22 sept. 2006, 00:34
par jpsartre
J'ai bien reçu le message de test.
C'est donc bien mon code qui coince.
Mais je ne vois pas où, j'aimerais bien comprendre car j'utilise ce code d'habitude.
Je vais faire avec votre code en attendant.

Si vous avez une idée... :idea:

Posté : 22 sept. 2006, 00:53
par jpsartre
Grand mystère.
J'ai simplifié le code sur le modèle ci-dessus.

Comme cela :
	 <? 
	  if(isset($_POST['submit']))
		  {
mail ("[email protected]","test",

"NOM : $nom

SOCIETE : $societe

MAIL : $mail

TEL : $tel

MESSAGE : $message");
	
	}
?>
Je reçois bien le mail, mais vide...
Vraiment bizarre cette histoire.

Peut-être un oubli dans mon formulaire (copié dans message plus haut)

Vraiment curieux de comprendre le problème.

Merci de jeter un oeil, et le fait que je sois sur PHP5 ne peut-il pas avois une influence sur la chose?

Posté : 22 sept. 2006, 01:04
par jpsartre
Et là je viens d'essayer avec un autre formulaire très simple et ça ne marche pas non plus. Les valeurs ne passent pas alors que je reçois le reste.
Quelque chose a changé avec PHP5 :?:

Merci

Posté : 22 sept. 2006, 01:08
par jpsartre
Effectivement il y a un problème avec PHP 5 parce que j'ai testé le formulaire sur un autre site sur PHP 4 et là ça marche.
Alors si quelqu'un peut m'expliquer.

Merci d'avance

Posté : 22 sept. 2006, 01:29
par jpsartre
Eh non, ce n'est pas PHP 5 le problème parce que je viens de mettre PHP 4 sur ce serveur et ça ne marche toujours pas alors que ça marche sur d'autres serveurs.

:?:

Posté : 22 sept. 2006, 10:43
par jpsartre
Eh bien ça a été très difficile. Beaucoup de bruit pour rien.
Et j'ai finalement jeté un oeil dans le fichier conf de mon serveur ( Amen ) et j'ai renommé le fichier php.ini-dist en php.ini
Première fois qu'ils me font un coup comme ça.
C'est avec les nouveaux packs webpro+
Merci encore pour votre aide,
Et à bientôt

Posté : 22 sept. 2006, 10:46
par Ryle
Problème de register_global :?:
Si tu mets du $_POST['nom'] à la place de $nom ?

Edit : oops.. trop tard

Posté : 22 sept. 2006, 11:12
par jpsartre
Merci pour ta réponse,

J'ai toujours pu compter sur vous,
ça fait plaisir

A bientôt