Erreur ligne 23 ,pourquoi ?

Résolu/Fermé
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 - Modifié par DanouL le 26/06/2011 à 18:38
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 - 28 juin 2011 à 16:19
Bonjour,
j'ai une erreur ligne 23 a quoi correspond t-elle et que veut dire boundary ?

//=====Création de la boundary 
$boundary = "-----=".md5(rand()); 
//========== 





( syntax error, unexpected T_DEC)





merci de ne pas oublier de mettre résolu lorsque cela est le cas ou de dire résolu quand vous ne pouvez pas !

+1 permet d'aider les autres !
----------------------------
[Aimer ce n'est pas renoncer à sa liberté, c'est lui donner un sens.]
A voir également:

4 réponses

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
26 juin 2011 à 19:38
Salut,

Essaie avec des guillemets simples (apostrophes).
Je crois avoir lu quelque-part que T_DEC correspondant à l'opérateur de décrémentation « -- », et entre guillemets doubles, certaines choses sont interprétées par PHP (les variables, les caractères comme \n ou \r pour le retour à la ligne, etc).

Petit commentaire au passage : « Création de la boundary » pour mélanger français/anglais :) Boundary = Frontière/Limite
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
26 juin 2011 à 19:51
pareil pour

$sujet = "Inscription a la Newsletter !";


toujours les guillemet simple ?
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
26 juin 2011 à 19:53
Oui, aucun soucis dans ce cas.

Personnellement, je préfère toujours utiliser les guillemets simples car PHP n'analyse pas le contenu de la chaine (à la recherche de variable ou caractère spéciaux).
Mais ça reste fonctionnel avec les guillemets doubles tant que tu penses bien à échapper ces caractères spéciaux.
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
26 juin 2011 à 20:09
alors j'ai mis les simple guillemet alors qui y'en avait plein de double mais là ou je trouver blizzard
c'est l'erreur :

?>  
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
Modifié par baladur13 le 29/01/2015 à 18:08

ce qui vient juste avant :


echo '<script>alert('Votre inscription à bien été pris en compte,merci');window.location.replace('http://xxxxx.net')</script>';
?>
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par baladur13 le 29/01/2015 à 18:04
Tu utilises des guillemets simpels à l'intérieur de ta chaine elle-même contenu entre des apostrophes. Ta chaine se termine donc après « alert( ».

echo '<script>alert("Votre inscription à bien été pris en compte,merci");window.location.replace("http://xxxxx.net")</script>';
Ou :
echo '<script>alert(\'Votre inscription à bien été pris en compte,merci\');window.location.replace(\'http://xxxxx.net\')</script>'; 

Pour info, PHP ne cherchera pas les caractères dans le message ni dans l'URL.
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
Modifié par baladur13 le 29/01/2015 à 18:05
ton code interprète :

echo '<script>alert('Votre inscription à bien été pris en compte,merci');window.location.replace('http://xxxxx.net')</script>';

il faut échapper les guillemets dans ton echo...
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
Modifié par baladur13 le 29/01/2015 à 18:07
sujet complet :


<?php
$mail="BOITE MAIL"; // Déclaration de l'adresse de destination.
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // On filtre les serveurs qui rencontrent des bogues.
{
$passage_ligne = "\r\n";
}
else
{
$passage_ligne = "\n";
}

$nom=$_POST['nom'];
$email=$_POST['email'];

//=====Déclaration des messages au format texte et au format HTML.
$message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
$message_html="
Nom:$nom <br />
email:$email <br/>;
//==========

//=====Création de la boundary
$boundary = '-----='.md5(rand());
//==========

//=====Définition du sujet.
$sujet = 'Inscription a la Newsletter !';
//=========

//=====Création du header de l'e-mail.
$header = 'From: \'Me\'<BOITE MAIL>'.$passage_ligne;
$header.= 'Reply-to: \'Me\'<BOITE MAIL>'.$passage_ligne;
$header.= 'MIME-Version: 1.0'.$passage_ligne;
$header.= 'Content-Type: multipart/alternative;'.$passage_ligne.'boundary=\"$boundary\''.$passage_ligne;
//==========

//=====Création du message.
$message = $passage_ligne.$boundary.$passage_ligne;
//=====Ajout du message au format texte.
$message.= 'Content-Type: text/plain; charset=\'ISO-8859-1\''.$passage_ligne;
$message.= 'Content-Transfer-Encoding: 8bit'.$passage_ligne;
$message.= $passage_ligne.$message_txt.$passage_ligne;
//==========
$message.= $passage_ligne.'--'.$boundary.$passage_ligne;
//=====Ajout du message au format HTML
$message.= 'Content-Type: text/html; charset=\'ISO-8859-1\''.$passage_ligne;
$message.= 'Content-Transfer-Encoding: 8bit'.$passage_ligne;
$message.= $passage_ligne.$message_html.$passage_ligne;
//==========
$message.= $passage_ligne.'--'.$boundary.'--'.$passage_ligne;
$message.= $passage_ligne.'--'.$boundary.'--'.$passage_ligne;
//==========

//=====Envoi de l'e-mail.
mail($mail,$sujet,$message,$header);
//==========

echo '<script>alert(\'Votre inscription à bien été pris en compte,merci\');window.location.replace(\'http://xxxxx.net\')</script>';

?>



merci de ne pas oublier de mettre résolu lorsque cela est le cas ou de dire résolu quand vous ne pouvez pas !

+1 permet d'aider les autres !
----------------------------
[Aimer ce n'est pas renoncer à sa liberté, c'est lui donner un sens.]
0
Templier Nocturne Messages postés 7734 Date d'inscription jeudi 22 janvier 2009 Statut Membre Dernière intervention 21 mai 2016 1 101
27 juin 2011 à 16:57
$message_txt = "Salut à tous, voici un e-mail envoyé par un script PHP.";
$message_html=" 


ton problème est là, tu ouvre une balise que tu ne referme jamais...
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
27 juin 2011 à 16:59
ah $message_html=""
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
27 juin 2011 à 17:00
?
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
27 juin 2011 à 17:02
$message_html=" Nom:$nom <br /> email:$email <br/>";


Ceci aurait plus de cohérence, vue ton code.
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
27 juin 2011 à 17:06
ah ,! je vais voir !
0
Creutzou Messages postés 550 Date d'inscription lundi 17 mai 2010 Statut Membre Dernière intervention 30 mai 2013 30
Modifié par Creutzou le 28/06/2011 à 13:36
Je pense que ton problème a été traité avec succès.

Je t'invite donc à passer le thread en résolu.
Tout vient à point à qui sait attendre
~~ Cr3u7z0u ~~
0
DanouL Messages postés 711 Date d'inscription vendredi 6 mai 2011 Statut Membre Dernière intervention 24 mars 2013 26
28 juin 2011 à 16:19
ce que j'avais déjà fait ,effectivement le problème a été passer avec succès
0