[PHP] unexpected $end

Fermé
kifouillou Messages postés 170 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 28 janvier 2011 - Modifié le 16 janv. 2008 à 09:45
 Alain42 - 16 janv. 2008 à 09:45
Bonjour,

j'ai un petit problème avec un envoie de mail. Lorsque je valide pour envoyer le mail sa me donne une erreur unexpected $ end on line 66 or c'est la dernière de mon code.

Voici mon code :


<?php
// données du formulaire.

if(!empty($_POST['nom'])){
$nom = htmlentities($_POST['nom']);
}else{
$erreur = 1;

}

if(!empty($_POST['prenom'])){
$prenom = htmlentities($_POST['prenom']);
}else{
$erreur = 1;

}




if(!empty($_POST['mail'])){
$nom = htmlentities($_POST['mail']);
}else{
$erreur = 1;

}

if(!empty($_POST['message'])){
$message = htmlentities($_POST['message']);
}else{
$erreur = 1;

}

// Mise en forme du message
$message = "contact : ".$nom." ".$prenom."\n Mail : ".$mail." \n Message :\n".$message;

// Paramètre de l'email
$headers .='From: "Brikabrok"<kifouillou@hotmail.fr>'."\n";
$headers .='Reply-To: '.$mail.''."\n";
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n";
$headers .='Content-Transfer-Encoding: 8bit';

//Envoi de l'email
if($erreur<>1){
if(mail('kifouillou@gmail.com', 'Nouveau message', $message, $headers)){

echo "message envoyé";
}else{
echo "erreur d envoi";
}
//mail('xxx@gmail.com', $message, $headers);
if($erreur<>1){
if(mail('xxx@gmail.com', 'Nouveau message', $message, $headers)){

echo "message envoyé";
}else{
echo "erreur d envoi";
}


}else{
echo "Tous les champs du formulaire ne sont pas remplis.<br \><a href='contact.html'>Retourner sur la page de contact</a>";
}

?>


Merci d'avance
            
                
A voir également:

3 réponses

Bonsoir,

Ce type d'erreur c'est qd il te manque une } fermante

le passage de ton code dans notepad++ donne:

//Envoi de l'email
if($erreur<>1){


il manque la fermante correspondante à ce if



@lain
0
kifouillou Messages postés 170 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 28 janvier 2011 9
16 janv. 2008 à 00:15
bonsoir,

merci pour cette réponse. Effectivement je n'ai plus d'erreur mais quand je valide l'envoie, j'arrive sur une page blanche et il ne se passe rien. Pourtant il devrait soit m'afficher que le mail n'a pa été envoyé soit il a été envoyé.

Si toi ou quelqu'un voit d'où vient l'erreur

Merci encore pour l'aide.
0
Bonjour,

Je pense que ton test <> n'est pas bon la comparaison différent de en php est !=

je t'ai un peu modigié et simpligié ton code:

<?php 
// données du formulaire. 
$erreur = -1; //init valeur erreur 
if(!empty($_POST['nom'])){ 
 $nom = htmlentities($_POST['nom']); 
}else{ 
 $erreur = 1; 
} 

if(!empty($_POST['prenom'])){ 
 $prenom = htmlentities($_POST['prenom']); 
}else{ 
 $erreur = 1; 
} 
if(!empty($_POST['mail'])){ 
 $nom = htmlentities($_POST['mail']); 
}else{ 
 $erreur = 1; 
} 

if(!empty($_POST['message'])){ 
 $message = htmlentities($_POST['message']); 
}else{ 
 $erreur = 1; 
} 

// Mise en forme du message 
$message = "contact : ".$nom." ".$prenom."\n Mail : ".$mail." \n Message :\n".$message; 

// Paramètre de l'email 
$headers .='From: "Brikabrok"<kifouillou@hotmail.fr>'."\n"; 
$headers .='Reply-To: '.$mail.''."\n"; 
$headers .='Content-Type: text/plain; charset="iso-8859-1"'."\n"; 
$headers .='Content-Transfer-Encoding: 8bit'; 

//Envoi de l'email 
if($erreur<0){ 
 if(mail('kifouillou@gmail.com', 'Nouveau message', $message, $headers)){ 
  echo "message envoyé"; 
 }else{ 
  echo "erreur d envoi"; 
 } 

//mail('xxx@gmail.com', $message, $headers); 
 if(mail('xxx@gmail.com', 'Nouveau message', $message, $headers)){ 
  echo "message envoyé"; 
 }else{ 
  echo "erreur d envoi"; 
 } 
}else{ 
 echo "Tous les champs du formulaire ne sont pas remplis.<br \><a href='contact.html'>Retourner sur la page de contact</a>"; 
} 

?>  


Pour envoyer à deux adresses, soit tu mets les deux séparées par une virgule dans la première partie entre les guillemets, soit tu utilises Bcc dans la variable $headers (vas voir les tutos pour ça)

Evites aussi de mettre tes adresses mail en clair, des petits malins qui ne sont pas la pour aider pourraient s'en servir.

@lain
0