Posez votre question Signaler

[PHP] unexpected $end

kifouillou 128Messages postés 4 novembre 2005Date d'inscription 28 janvier 2011Dernière intervention - Dernière réponse le 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
Lire la suite 

[PHP] unexpected $end »

3 réponses
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Ce document intitulé « [PHP] unexpected $end » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?