PHP 5 et Formulaire

Eléphant du PHP | 160 Messages

22 sept. 2006, 00:04

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 sept. 2006, 00:09

Bonjour,

Commence par retirer l'arobace devant la fonction mail(), peut être qu'un message d'erreur apparaitera ;)
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 160 Messages

22 sept. 2006, 00:16

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

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 sept. 2006, 00:26

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");
?>
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 160 Messages

22 sept. 2006, 00:34

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:

Eléphant du PHP | 160 Messages

22 sept. 2006, 00:53

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?

Eléphant du PHP | 160 Messages

22 sept. 2006, 01:04

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

Eléphant du PHP | 160 Messages

22 sept. 2006, 01:08

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

Eléphant du PHP | 160 Messages

22 sept. 2006, 01:29

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.

:?:

Eléphant du PHP | 160 Messages

22 sept. 2006, 10:43

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

22 sept. 2006, 10:46

Problème de register_global :?:
Si tu mets du $_POST['nom'] à la place de $nom ?

Edit : oops.. trop tard

Eléphant du PHP | 160 Messages

22 sept. 2006, 11:12

Merci pour ta réponse,

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

A bientôt