Rechercher : dans
Par :

PHP - Script Simple - Unexpected $end

Dernière réponse le 10 jui 2009 à 20:38:00 The_QcR, le 10 jui 2009 à 16:25:35 
 Signaler ce message aux modérateurs

Bonjour,

J'ai encore un petit problème en php :P !!

J'aurais besoin d'aide pour ce script qui me permet d'envoyer des pièces jointes par email (Mais des mails en HTML)

Voici l'erreur : Parse error: syntax error, unexpected $end in /home/commint/public_html/admin/envoyer_doc_a.php on line 64

Voici mon code ! Merci de votre aide !!

<?php

// Setting a timezone, mail() uses this.
// recipients
$email = $_POST['email'];
$file = $_POST['file'];
$motifmail = $_POST['motif'];


$attachment = file_get_contents("/home/commint/public_html/dl/$file");


$HTML = "<img src='http://comm-inter-tel.ca/img/logo.jpg'></img><center><br><font face='Century Gothic' size='5'>Lien de téléchargement</font><font face='Century Gothic'><center><br>$motifmail<br><a href='http://comm-inter-tel.ca/download.php?$cdname' target='_blank'>http://comm-inter-tel.ca/download.php?$cdname</a></font>";
$from = "info@comm-inter-tel.com";
$to = $email;
$subject = "Inter-Tel.ca - Lien de téléchargement";

sendHTMLemail($HTML,$from,$to,$subject);


function sendHTMLemail($HTML,$from,$to,$subject)
{
// First we have to build our email headers
// Set out "from" address

$headers = "From: $from\r\n";

// Now we specify our MIME version

$headers .= "MIME-Version: 1.0\r\n";

// Create a boundary so we know where to look for
// the start of the data

$boundary = uniqid("HTMLEMAIL");

// First we be nice and send a non-html version of our email

$headers .= "Content-Type: multipart/alternative;".
"boundary = $boundary\r\n\r\n";

$headers .= "This is a MIME encoded message.\r\n\r\n";

$headers .= "--$boundary\r\n".
"Content-Type: text/plain; charset=ISO-8859-1\r\n".
"Content-Transfer-Encoding: base64\r\n\r\n";

$headers .= chunk_split(base64_encode(strip_tags($HTML)));

// Now we attach the HTML version

$headers .= "--$boundary\r\n".
"Content-Type: text/html; charset=ISO-8859-1\r\n".
"Content-Transfer-Encoding: base64\r\n\r\n";

$headers .= "Content-Type: application/octet-stream; name=$file".
"Content-Transfer-Encoding: base64\r\n\r\n".
"Content-Disposition: attachment";


$headers .= chunk_split(base64_encode($HTML));

?>

Configuration: Windows XP Internet Explorer 6.0

Meilleures réponses pour « PHP Script Simple Unexpected $end » dans :
Parse error: syntax error, unexpected $end Voir Lorsque l'on programme en Php, on se retrouve inévitablement un jour devant ce genre d'erreur: Parse error: syntax error, unexpected $end in Command line code on line 1 En français, ça signifie grossièrement: "Erreur d'analyse du code: il y a une...
PHP Parse error: unexpected '&lt;' in ... eval()'d code on l VoirSymptômes Lors de l'utilisation de la fonction eval() en PHP, ce dernier se plaint et vous affiche un message de la forme suivante : PHP Parse error: syntax error, unexpected '
[PHP] Parse error, unexpected T_STRING, expecting ',' or ';' VoirCette erreur, fréquente, se produit notamment lorsqu'un guillemet est présent dans une chaîne délimitée par ce même type de guillemets, par exemple :
PHP - Les variables d'environnement VoirNotion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script...

1

jeangilles, le 10 jui 2009 à 16:34:05

Rajoutes un } juste avant le ?> de la fin

Répondre à jeangilles

2

The_QcR, le 10 jui 2009 à 16:42:39

MERCI JEANGILLES !!
tu es génial ! :P

quand on ouvre une fonction on doit la fermer en ;)

Mais je comprend pas car je reçois pas le mail :O

Répondre à The_QcR

3

jeangilles, le 10 jui 2009 à 16:48:18

Ben moi ca métonne pas vraiment ^^
ajoutes à la fin de la fonction

mail ($to, $subject ,
$HTML, $headers);

Répondre à jeangilles

4

The_QcR, le 10 jui 2009 à 16:53:51

LOLLLL .... C'est bon .... je sort ! :P

Merci tout de même

Répondre à The_QcR

5

The_QcR, le 10 jui 2009 à 17:06:28

Ya toutde même un problème !! Je reçois un e-mail mais ya rien dedans et sa m'indique qu'il y une pièce jointe mais il y en pas !!

Répondre à The_QcR

6

jeangilles, le 10 jui 2009 à 17:34:02

Ben la piece jointe cest parce que tas mis


$headers .= "Content-Type: application/octet-stream; name=$file".
"Content-Transfer-Encoding: base64\r\n\r\n".
"Content-Disposition: attachment";


et pour le contenu, javais pensé que cétait la variable $HTML qui était passé en parametre, si cest pas ca faut faire un truc dans ce genre là ^^

Répondre à jeangilles

7

The_QcR, le 10 jui 2009 à 17:45:08

Mmmm.... Mais j'ai trouver qqch de fonctionnel sur le web qui fonctionne beaucoup mieux mais la ligne :

Content-Type: application/octet-stream; name=$file

fait que le fichier que je reçois est $file ... mais je voudrais plutôt recevoir la valeur de $file ! Car le fichier change à chaque envoi !

Répondre à The_QcR

8

The_QcR, le 10 jui 2009 à 19:55:21

Y'aurais pas un pro de php ds les parages pour m'aider svp ?? :)

Merci d'avance :P

Répondre à The_QcR

9

jeangilles, le 10 jui 2009 à 20:15:09

Ben si tu mets 'Content-Type: application/octet-stream; name=$file', c'est sur que cest la chaine de caractères $file qui sera envoyés

par contre si tu mets "Content-Type: application/octet-stream; name=$file " (avec des " à la place des ') là c'est ta variable $file sera interprétée comme une variable justement

Répondre à jeangilles

10

The_QcR, le 10 jui 2009 à 20:26:42

Ouais, ça je savais mais regarde, il n'y a pas de guillemets nulle part alors je sais pas trop !
Regarde cette portion du code

--PHP-alt-<?php echo $random_hash; ?>--

--PHP-mixed-<?php echo $random_hash; ?>
Content-Type: application/octet-stream; name=$file
Content-Transfer-Encoding: base64
Content-Disposition: attachment

<?php echo $attachment; ?>
--PHP-mixed-<?php echo $random_hash; ?>--


j'ai même essayer de mettre \"$file\" mais sa ne fonctionne pas plus !!


--PHP-alt-<?php echo $random_hash; ?>--

--PHP-mixed-<?php echo $random_hash; ?>
Content-Type: application/octet-stream; name=\"$file\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment

<?php echo $attachment; ?>
--PHP-mixed-<?php echo $random_hash; ?>--

Répondre à The_QcR

11

jeangilles, le 10 jui 2009 à 20:30:04

Ton $file n'est pas entre les balises php !


<.php echo "$random_hash
Content-Type: application/octet-stream; name=$file
Content-Transfer-Encoding: base64
Content-Disposition: attachment "; ?>

Répondre à jeangilles

12

 The_QcR, le 10 jui 2009 à 20:38:00

Super !! Merci beaucoup :P

t'es vraiment fort !!

Répondre à The_QcR
Collection CommentÇaMarche.net