Page 1 sur 2

formulaire php (j'y pige que dalle)

Posté : 29 oct. 2008, 19:21
par numajet
bonjour,
Je me permet de poster sur ce forum car j'y comprend rien,rien, mais rien au PHP et j'aurais besoin d'aide concernant un formulaire.
J'ai un fichier contact.html qui doit m'envoyer des informations (nom, prenom, telephone, mail, commentaire) par mail via le fichier traitement.php et ensuite me retourner un message avec le fichier confirm.html
Merci a tous

numajet

J'y pige dalle



/////////////////////
contact.html
//////////////////////

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Document sans nom</title> </head> <body> <form action="traitement.php" method="post" "> <input name="redirect" type="hidden" id="redirect" value="confirm.html" /> <br /> <table width="313" height="240" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="25" align="left" valign="top" class="subHeadings">nom:</td> <td colspan="2" align="left" valign="top"><label> <input name="nom" type="text" class="inputcon" id="nom" size="40" maxlength="100" /> </label> </td> </tr> <tr> <td height="23" align="left" valign="top" class="subHeadings">Prénom</td> <td colspan="2" align="left" valign="top"><input name="prenom" type="text" class="inputcon" id="prenom" size="40" maxlength="100" /> </td> </tr> <tr> <td height="24" align="left" valign="top" class="subHeadings">E-Mail</td> <td colspan="2" align="left" valign="top"><input name="email" type="text" class="inputcon" id="email" size="40" maxlength="50" /> </td> </tr> <tr> <td height="26" align="left" valign="top" class="subHeadings">TELEPHONE:</td> <td colspan="2" align="left" valign="top"><input name="telephone" type="text" class="inputcon" id="telephone" size="40" maxlength="12" /> </td> </tr> <tr> <td height="25" align="left" valign="top">&nbsp;</td> <td colspan="2" align="left" valign="top"><label></label></td> </tr> <tr> <td height="76" align="left" valign="top" class="subHeadings">commentaire</td> <td colspan="2" align="left" valign="top"><label> <textarea name="comment" cols="35" rows="5" wrap="physical" class="inputcon" id="comment"></textarea> </label></td> </tr> <tr> <td height="41" align="left" valign="middle"><font color="#000000"> <input name="annuler" type="reset" class="inputcon" id="annuler" value="Annuler" /> </font></td> <td align="center" valign="middle">&nbsp;</td> <td align="left" valign="middle"><font color="#000000"> <input name="soumettre" type="submit" class="inputcon" id="soumettre" value="Envoyer" /> </font></td> </tr> </table> </form> </body> </html>
///////////////////////////
traitement.php
////////////////////////
<?php
j'en sais rien car j'y pige que dalle
?> 
//////////////////
confirm.html
//////////////

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Document sans nom</title> </head> <body> <h2>Merci</h2> Nous répondrons à votre demande aussitôt que possible. Le contact sera fait par l'intermédiaire de l'email, du téléphone ou du mobile </body> </html>

Posté : 29 oct. 2008, 19:30
par charabia
Il s'agit simplement d'un formulaire de contact.

Etudie la fonction mail : http://www.vulgarisation-informatique.com/mail.php

Ensuite tu remplaces juste les variables par celles de ton formulaire.

formulaire

Posté : 30 oct. 2008, 12:11
par numajet
Bonjour charabia,

Aurais tu un exemple concret avec un fichier html qui envoi au php et qui celui-ci renvoie un autre fichier html, pour que je puisse analyser le html et le php. j'ai passé plus 8 heures et je n'y arrive pas.

numajet (je craque) :oops:

Posté : 30 oct. 2008, 12:14
par charabia

formulaire php

Posté : 30 oct. 2008, 12:59
par numajet
Bonjour,
voici mon code php mais il me renvoie une erreur
(Parse error: syntax error, unexpected $end in C:\Program Files\EasyPHP 2.0b1\www\dossier sans titre\traitement.php on line 42)

Besoin d'un petit coup de main SVP

merci
<?php 
// Récupération des données transmises par POST
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$commentaire = $_POST['commentaire'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];

  if($nom ==""){ 
    // On verifie le nom 
    echo("Le champ Nom est vide !"); 
  }
  else{ 
    if($prenom ==""){ 
      // On verifie le message 
      echo("Le champ prenom est vide !"); 
    }  
  else{ 
    if($commentaire ==""){ 
      // On verifie le message 
      echo("Le champ commentaire est vide !"); 
    } 
    else{ 
      // On verifie le sujet 
      if($telephone ==""){ 
        echo("Le champ telephone est vide !"); 
      } 
      else{ 
        // On verifie l'email 
        if($email ==""){ 
          echo("Le champ email est vide !"); 
        } 
        else{ 
          // si tout a été remplie, on envoi 
          mail("[email protected]",$prenom,$nom,$commentaire,$telephone,$email); 
          echo("Votre message a bien été envoyé"); 
        }
      } 
    } 
  } 
?> 

Posté : 30 oct. 2008, 13:02
par charabia
Structure de IF imbriqués :
if(condition réalisée) {
   liste d'instructions
}
elseif(autre condition réalisée) {
	   autre série d'instructions
}
elseif(autre condition réalisée) {
	   autre série d'instructions
}
...
else(dernière condition réalisée) {
	 série d'instructions
}

Posté : 30 oct. 2008, 13:23
par numajet
Toujour une erreur en ligne 31
<?php 
// Récupération des données transmises par POST
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$commentaire = $_POST['commentaire'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];

if($nom ==""){ 
    // On verifie le nom 
    echo("Le champ Nom est vide !"); 
  }
  elseif($prenom ==""){ 
      // On verifie le message 
      echo("Le champ prenom est vide !"); 
    }  
	   // On verifie le message 
	elseif($commentaire ==""){ 
      echo("Le champ commentaire est vide !"); 
    }
	   // On verifie le sujet  
    elseif($telephone ==""){ 
        echo("Le champ telephone est vide !"); 
      } 
      else($email ==""){
        // On verifie l'email 
	  	echo("Le champ email est vide !"); 
        }
		
        else mail("[email protected]",$prenom,$nom,$commentaire,$telephone,$email){ 
          echo("Votre message a bien été envoyé"); 
        }
?> 

Posté : 30 oct. 2008, 14:05
par sylvaing26
<?php  
// Récupération des données transmises par POST 
$nom = $_POST['nom']; 
$prenom = $_POST['prenom']; 
$commentaire = $_POST['commentaire']; 
$telephone = $_POST['telephone']; 
$email = $_POST['email']; 
if(!isset($nom) || (!isset($prenom) || (!isset($commentaire) || (!isset($telephone) || (!isset($email)){
  if($nom ==""){  
    // On verifie le nom  
    echo("Le champ Nom est vide !");  
  } 
  if($prenom ==""){  
      // On verifie le message  
      echo("Le champ prenom est vide !");  
    }   
       // On verifie le message  
   if($commentaire ==""){  
      echo("Le champ commentaire est vide !");  
    } 
       // On verifie le sujet   
   if($telephone ==""){  
        echo("Le champ telephone est vide !");  
      }  
   if($email ==""){ 
        // On verifie l'email  
          echo("Le champ email est vide !");  
        } 
         }

else mail("[email protected]",$prenom,$nom,$commentaire,$telephone,$email){  
echo("Votre message a bien été envoyé");  
        } 
?> 
et comme ca ?

Posté : 30 oct. 2008, 14:13
par numajet
il renvoie un message d'erreur
(Parse error: syntax error, unexpected '{' in C:\Program Files\EasyPHP 2.0b1\www\dossier sans titre\traitement.php on line 8)

Posté : 30 oct. 2008, 14:22
par sylvaing26
<?php  
// Récupération des données transmises par POST 
$nom = $_POST['nom']; 
$prenom = $_POST['prenom']; 
$commentaire = $_POST['commentaire']; 
$telephone = $_POST['telephone']; 
$email = $_POST['email']; 
if(!isset($nom) || (!isset($prenom) || (!isset($commentaire) || (!isset($telephone) || (!isset($email))
  if($nom ==""){  
    // On verifie le nom  
    echo("Le champ Nom est vide !");  
  } 
  if($prenom ==""){  
      // On verifie le message  
      echo("Le champ prenom est vide !");  
    }   
       // On verifie le message  
   if($commentaire ==""){  
      echo("Le champ commentaire est vide !");  
    } 
       // On verifie le sujet   
   if($telephone ==""){  
        echo("Le champ telephone est vide !");  
      }  
   if($email ==""){ 
        // On verifie l'email  
          echo("Le champ email est vide !");  
        } 
         

else mail("[email protected]",$prenom,$nom,$commentaire,$telephone,$email){  
echo("Votre message a bien été envoyé");  
        } 
?> 
et comme ca ?

Posté : 30 oct. 2008, 14:35
par numajet
toujour une erreur en ligne 9
(Parse error: syntax error, unexpected '{' in C:\Program Files\EasyPHP 2.0b1\www\dossier sans titre\traitement.php on line 9)

Posté : 30 oct. 2008, 14:50
par charabia
<?php  
// Récupération des données transmises par POST 
$nom = $_POST['nom']; 
$prenom = $_POST['prenom']; 
$commentaire = $_POST['commentaire']; 
$telephone = $_POST['telephone']; 
$email = $_POST['email']; 

if($nom ==""){  
    // On verifie le nom  
    echo("Le champ Nom est vide !");  
  } 
  elseif($prenom ==""){  
      // On verifie le message  
      echo("Le champ prenom est vide !");  
    }   
       // On verifie le message  
    elseif($commentaire ==""){  
      echo("Le champ commentaire est vide !");  
    } 
       // On verifie le sujet   
    elseif($telephone ==""){  
        echo("Le champ telephone est vide !");  
      }  
      else($email ==""){ 
        // On verifie l'email  
          echo("Le champ email est vide !");  
        } 
         
        else mail("[email protected]",$prenom,$nom,$commentaire,$telephone,$email){  
          echo("Votre message a bien été envoyé");  
        } 
?>
Pourquoi as-tu 2 else ? Et après un else, plus besoin de mettre de condition puisque c'est celle qui sera prise en dernier cas.

Donc la syntaxe est
...
...
elseif($email==""){ 
	// On verifie l'email  
	echo("Le champ email est vide !");  
} 
else {
	mail("[email protected]",$prenom,$nom,$commentaire,$telephone,$email);
	echo("Votre message a bien été envoyé");  
} 

Posté : 30 oct. 2008, 15:00
par numajet
il y a un message d'erreur.
Warning: mail() expects at most 5 parameters, 6 given in C:\Program Files\EasyPHP 2.0b1\www\traitement.php on line 31
Votre message a bien été envoyé

Posté : 30 oct. 2008, 15:03
par charabia
Exact, je n'avais pas regardé ta fonction mail. Je t'invite donc maintenant que les conditions sont ok, d'étudier la fonction mail : http://www.vulgarisation-informatique.com/mail.php

Posté : 30 oct. 2008, 15:37
par numajet
je crois qu'il y un probleme sur ma fonction mail

<?php
// Récupération des données transmises par POST
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$commentaire = $_POST['commentaire'];
$telephone = $_POST['telephone'];
$email = $_POST['email'];

if($nom ==""){
// On verifie le nom
echo("Le champ Nom est vide !");
}
elseif($prenom ==""){
// On verifie le message
echo("Le champ prenom est vide !");
}
// On verifie le message
elseif($commentaire ==""){
echo("Le champ commentaire est vide !");
}
// On verifie le sujet
elseif($telephone ==""){
echo("Le champ telephone est vide !");
}
// On verifie l'email
else {
($email=="")
echo("Le champ email est vide !");
}

if(mail("[email protected]",$prenom,$nom,$commentaire,$telephone,$email)){
echo ("Le message a été envoyé");
}
else{
echo ("Le message n\'a pu être envoyé");
}
?>