Formulaire de contact php

Résolu
Bonjour,

J'ai un bug bizarre lorque je teste mon formulaire contact php:

Mon erreur :

- Parse error: syntax error, unexpected T_IF in C:\wamp\www\monsite\contact.php on line 3

Mon code:
<?php
$_POST['nom']
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
	extract($_POST);
	if(!empty($nom) && !empty($email) && !empty($message)) {           //line 3
			$message=str_replace("\'","'",$message);
			$destinataire="----@gmail.com";
			$sujet="Garage Roberto";
			$msg="Une nouvelle question \n
			Nom : $nom \n
			Email: $email \n
			Message: $message";
			$entete="From: $nom \n Reply-To: $email";
			mail($destinataire,$sujet,$msg,$entete);
			echo "Le mail a bien été envoyé.";	
	}
	else {
			echo "Vous n'avez pas rempli tous les champs";
	}
}
?>



Merci d'avance

18 réponses

  1. de rien mais la solution proposée n'est pas très propre.
    1. ça marche merci bcq pour ton aide je t'en suis très très reconnaissant.
      1. le problème ne vient pas de là.
        Essaye ceci
        <?php
        $nom = $_POST['nom'];
        $email = $_POST['email'];
        $message = $_POST['message'];
        if( isset($nom) && isset($email) && isset($message))
        {
        	extract($_POST);
        	if(!empty($nom) && !empty($email) && !empty($message)) {           //line 3
        			$message=str_replace("\'","'",$message);
        			$destinataire="----@gmail.com";
        			$sujet="Garage Roberto";
        			$msg="Une nouvelle question \n
        			Nom : $nom \n
        			Email: $email \n
        			Message: $message";
        			$entete="From: $nom \n Reply-To: $email";
        			mail($destinataire,$sujet,$msg,$entete);
        			echo "Le mail a bien été envoyé.";	
        	}
        	else {
        			echo "Vous n'avez pas rempli tous les champs";
        	}
        }
        ?>
        1. Parse error: syntax error, unexpected '=' in C:\wamp\www\monsite\contact.php on line 3
          1. <?php

            nom=$_POST['nom']
            mail=$_POST['email']
            message=$_POST['message']

            if( isset($nom) && isset($email) && isset($message)){
            extract($_POST);
            if(!empty($nom) && !empty($email) && !empty($message)) {
            $message=str_replace("\'","'",$message);
            $destinataire="-----@live.fr";
            $sujet="mon site";
            $msg="Une nouvelle question \n
            Nom : $nom \n
            Email: $email \n
            Message: $message";
            $entete="From: $nom \n Reply-To: $email";
            mail($destinataire,$sujet,$msg,$entete);
            echo "Le mail a bien été envoyé.";
            }
            else {
            echo "Vous n'avez pas rempli tous les champs";
            }
            }
            ?>
            essaye ceci
            1. <?php
              
              nom=$_POST['nom']
              mail=$_POST['email'] 
              message=$_POST['message']
              $_POST[$nom]
              if(isset($_POST) && isset($nom) && isset($email) && isset($message)){
              	extract($_POST);
              	if(!empty($nom) && !empty($email) && !empty($message)) {
              			$message=str_replace("\'","'",$message);
              			$destinataire="-----@live.fr";
              			$sujet="mon site";
              			$msg="Une nouvelle question \n
              			Nom : $nom \n
              			Email: $email \n
              			Message: $message";
              			$entete="From: $nom \n Reply-To: $email";
              			mail($destinataire,$sujet,$msg,$entete);
              			echo "Le mail a bien été envoyé.";	
              	}
              	else {
              			echo "Vous n'avez pas rempli tous les champs";
              	}
              }
              ?>
              
              1. test voir l'ancien code et le nouveau avec cette modif. Si l'ancien marche alors garde le.
                1. regarde ici il ne manquerait pas une parenthèse if(isset($_POST) && isset($_
                  1. Ou est ce que tu a mis ceci ?
                    nom=$_POST['nom']
                    mail=$_POST['email']
                    message=$_POST['message']
                    1. je ne l'avais pas vu ;) ta raison mais même sans ce crochet j'ai toujours la même erreur ??
                      1. regarde après $message :) (tu as oublié de supprimer un crochet)
                        1. voici le code modifié est j'ai toujours la même erreur :

                          <?php
                          $_POST[$nom]
                          if(isset($_POST) && isset($nom) && isset($email) && isset($message])){
                          	extract($_POST);
                          	if(!empty($nom) && !empty($email) && !empty($message)) {
                          			$message=str_replace("\'","'",$message);
                          			$destinataire="------@gmail.com";
                          			$sujet="Mon site";
                          			$msg="Une nouvelle question \n
                          			Nom : $nom \n
                          			Email: $email \n
                          			Message: $message";
                          			$entete="From: $nom \n Reply-To: $email";
                          			mail($destinataire,$sujet,$msg,$entete);
                          			echo "Le mail a bien été envoyé.";	
                          	}
                          	else {
                          			echo "Vous n'avez pas rempli tous les champs";
                          	}
                          }
                          ?>
                          
                          1. Eh bien par exemple :
                            nom=$_POST['nom']
                            puis remplace $_POST['nom'] par $nom
                            1. Merci pour ta réponse mais je ne comprend pas ce que je dois changer ?
                              1. Accolade ?
                                1. la syntaxe employée est bonne mais il faut pet être mettre des caractères d'échappements \
                                2. ??
                                3. les ' doivent, de souvenir, être échappés : \' .
                              2. De souvenir les ' ne conviennent pas dans cette utilisation. Il faut assigner au tableau un variable plus classique