[PHP] Aide pour compréhension du code.... <<<EOF ??

Aide pour compréhension du code.... <<<EOF ?? [PHP] - PHP - Programmation

Marsh Posté le 11-10-2004 à 12:26:38    

Hello!
 
Je comprends rien au bout de code qui suit...  :pt1cable:  (en plus il marche pas!... erreur qd je lance l'appli, donc c pas gagné :D).  
 
Et pourtant le code est tiré du tout récent livre "Les cahiers du programmeur" PHP 5 de Stéphane Mariel (édition Eyrolles).
 

Code :
  1. else
  2. {
  3. print <<<EOF <html>
  4.  <head>
  5.  <title>Redirection !</title>
  6.  <script>
  7.   window.parent.location = "$redirection" ;
  8.  </script>
  9.  </head>
  10.  <body>
  11.  Vous devriez être redirigé(e) automatiquement. Si ce n'est pas le cas, <a href="$redirection">cliquez ici</a>.
  12.  </body>
  13.  </html>
  14. EOF ; exit() ;
  15. }


 
Bon le plus gros truc que je comprends pas (et qui ne fonctionne pas d'ailleurs), c'est <<<EOF et ensuite EOF ;
 
L'erreur retournée est :  
 
Parse error: syntax error, unexpected T_SL in e:\mes documents\mes sites web\Applimed\sessionvalide.php on line 24
 
(la ligne 24 est celle ou il y a <<<EOF)
 
Merci pour votre aide.


Message édité par le_duc le 11-10-2004 à 12:27:18
Reply

Marsh Posté le 11-10-2004 à 12:26:38   

Reply

Marsh Posté le 11-10-2004 à 13:01:25    

C'est quoi ce bout de code ? ;)
 
Essayes ça;
 

Code :
  1. else
  2. {
  3.     print '<html>
  4.         <head>
  5.         <title>Redirection !</title>
  6.         <script>
  7.             window.parent.location = "$redirection" ;
  8.         </script>
  9.         </head>
  10.         <body>
  11.         Vous devriez être redirigé(e) automatiquement. Si ce n\'est pas le cas, <a href="$redirection">cliquez ici</a>.
  12.         </body>
  13.         </html>
  14.     ';    exit() ;
  15. }


 

Reply

Marsh Posté le 11-10-2004 à 14:22:04    

La méthode "EOF" (si on peut l'appeller comme ça ;) ) permet d'ecrire un texte sur plusieurs lignes sans se soucier des " et des ' il me semble ...
 
Il faut donc faire un
echo <<<TA_BALISE
blablabla
blablabla
blablabla
blablabla
blablabla
TA_BALISE;
 
TA_BALISE peut avoir la valeur que tu veux je crois, mais être en MAJ, et sans espaces bien sûr... Autre chose : la balise de fin TA_BALISE; doit obligatoirement être en début de ligne ! Pas d'espace juste avant, vraiment au tout tout tout début de la ligne.
 
++


Message édité par Dj YeLL le 10-02-2005 à 18:52:01
Reply

Marsh Posté le 11-10-2004 à 14:23:34    

Dj YeLL a écrit :

La méthode "EOF" (si on peut l'appeller comme ça ;) ) permet d'ecrire un texte sur plusieurs lignes sans se soucier des " et des ' il me semble ...
 
Il faut donc faire un
echo <<<TA_BALISE
blablabla
blablabla
blablabla
blablabla
blablabla
TA_BALISE;
 
TA_BALISE peut avoir la valeur que tu veux je crois, mais etre en MAJ, et sans espace bien sur... Autre chose : la balie TA_BALISE; doit obligatoirement etre en début de ligne ! pas d'espace juste davant, vriament au tout tout tout debu de la ligne
 
++

toutafait

Reply

Marsh Posté le 11-10-2004 à 14:29:57    

ahah! ok, merci pour ces renseignements!
 
Mais mon code à l'air "bon" alors? non?

Reply

Marsh Posté le 11-10-2004 à 15:07:51    

Bah ecoute non, d'apres ce que je vois tu as un ou plusieurs espace devant ton EOF; ... Tu es sûr d'avoir lu ce que j'ai dis ? ;)
 
++


Message édité par Dj YeLL le 11-10-2004 à 15:08:19
Reply

Marsh Posté le 11-10-2004 à 16:23:35    

Dj YeLL a écrit :

Bah ecoute non, d'apres ce que je vois tu as un ou plusieurs espace devant ton EOF; ... Tu es sûr d'avoir lu ce que j'ai dis ? ;)
 
++


 
oui, mais mis à part ca ? pasque ca change à rien chez moi... avec ce code :
 

Code :
  1. else
  2.         print <<<EOF
  3. <html>
  4. <head>      <title>Redirection !</title>
  5. <script language="javascript">           window.parent.location = "$redirection" ;
  6. </script>
  7. </head>
  8. <body>
  9. <p>Vous devriez être redirigé(e) automatiquement. Si ce n'est pas le cas, <a href="$redirection">cliquez ici</a>.</p>
  10. </body>
  11. </html>
  12. EOF ;
  13. exit() ;


 
il me met l'erreur suivante : Parse error: syntax error, unexpected $end in e:\mes documents\mes sites web\Applimed\sessionvalide.php on line 39 -> qui correspond à la denrière ligne de mon code, à savoir ?>  :??:

Reply

Marsh Posté le 11-10-2004 à 16:25:57    

heuu c'est normal que les {} de ton else ont magiquement disparu ?

Reply

Marsh Posté le 11-10-2004 à 16:34:53    

Mr Mala a écrit :

heuu c'est normal que les {} de ton else ont magiquement disparu ?


 
ouais, je les ai enlevés ;), ca change à rien. Enfin, vu que dans le livre, c sans les {}, j'ai pensé que ca pourrait influencer, mais ca fait rien de plus (ni de moins :D).

Reply

Marsh Posté le 11-10-2004 à 16:53:11    

ca marche tjs pas... je pige pas! ca à l'air de merder à la ligne <script></script> --> les couleurs correspondent plus...
 
http://www.duotone.ch/~duotone/EOF.gif


Message édité par le_duc le 11-10-2004 à 16:53:35
Reply

Marsh Posté le 11-10-2004 à 16:53:11   

Reply

Marsh Posté le 11-10-2004 à 16:54:09    

Alors d'abord tu nous dis que tu as cette erreur :
 

Code :
  1. Parse error: syntax error, unexpected T_SL in e:\mes documents\mes sites web\Applimed\sessionvalide.php on line 24


 
et après tu nous dis que ça change rien du tout de faire les modifs qu'on te dit de faire, et que tu as l'erreur :
 

Code :
  1. Parse error: syntax error, unexpected $end in e:\mes documents\mes sites web\Applimed\sessionvalide.php on line 39


 
Tu m'excuseras mais pour moi ça change ... ça change même beaucoup...
 
++

Reply

Marsh Posté le 11-10-2004 à 16:56:14    

tmaniere pourquoi tu utilise ce systeme si c'est pour mettre le OEF juste a la fin?
 
autant faire un print direct de ce que tu veut

Reply

Marsh Posté le 11-10-2004 à 16:59:05    

Dj YeLL a écrit :

Alors d'abord tu nous dis que tu as cette erreur :
 

Code :
  1. Parse error: syntax error, unexpected T_SL in e:\mes documents\mes sites web\Applimed\sessionvalide.php on line 24


 
et après tu nous dis que ça change rien du tout de faire les modifs qu'on te dit de faire, et que tu as l'erreur :
 

Code :
  1. Parse error: syntax error, unexpected $end in e:\mes documents\mes sites web\Applimed\sessionvalide.php on line 39


 
Tu m'excuseras mais pour moi ça change ... ça change même beaucoup...
 
++


 
ouais, je me suis mal exprimé! --> les espaces devant EOF; ca change à rien chez moi! PAR CONTRE si je met 1 espace APRES <<<EOF, là il me remet l'erreur "unexpected T_SL" (donc j'ai enlevé l'espace que j'avais après <<<EOF et mtn il me met l'erreur "unexpected $end" )
 
Les erreurs sont au moins pas clair en php (c'était déjà pas génial en java, mais là c incompréhensible!!).

Reply

Marsh Posté le 11-10-2004 à 17:00:31    

chacal_one333 a écrit :

tmaniere pourquoi tu utilise ce systeme si c'est pour mettre le OEF juste a la fin?
 
autant faire un print direct de ce que tu veut


 
Bonne question  :jap:

Reply

Marsh Posté le 11-10-2004 à 17:01:11    

le_duc a écrit :

ouais, je me suis mal exprimé! --> les espaces devant EOF; ca change à rien chez moi! PAR CONTRE si je met 1 espace APRES <<<EOF, là il me remet l'erreur "unexpected T_SL" (donc j'ai enlevé l'espace que j'avais après <<<EOF et mtn il me met l'erreur "unexpected $end" )
 
Les erreurs sont au moins pas clair en php (c'était déjà pas génial en java, mais là c incompréhensible!!).

en sachant utiliser google peu etre
 
http://www.faqts.com/knowledge_bas [...] 379/fid/51
 
CF le lien dedant, c'est expliqué

Reply

Marsh Posté le 11-10-2004 à 17:01:24    

chacal_one333 a écrit :

tmaniere pourquoi tu utilise ce systeme si c'est pour mettre le OEF juste a la fin?
 
autant faire un print direct de ce que tu veut


 
le <<<EOF me permet d'utiliser du HTML et des variables (-> <script>window.parent.location = "$redirection" ;</script> )  ... si t'as une autre solution je t'écoute!

Reply

Marsh Posté le 11-10-2004 à 17:04:12    

chacal_one333 a écrit :

en sachant utiliser google peu etre
 
http://www.faqts.com/knowledge_bas [...] 379/fid/51
 
CF le lien dedant, c'est expliqué


 
:jap: , mais si il faut chercher toute les erreurs dans google  :sleep: . (ce que je voulais dire, c'est qu'en java l'erreur est plus ou moins compréhensible avec le message d'erreur affiché!)

Reply

Marsh Posté le 11-10-2004 à 17:15:31    

le_duc a écrit :

le <<<EOF me permet d'utiliser du HTML et des variables (-> <script>window.parent.location = "$redirection" ;</script> )  ... si t'as une autre solution je t'écoute!


 
 
euh ... ben peut etre :
 

Code :
  1. echo '<script>window.parent.location = "'.$redirection.'" ;</script>"';


 
non ?

Reply

Marsh Posté le 11-10-2004 à 17:16:08    

le_duc a écrit :

:jap: , mais si il faut chercher toute les erreurs dans google  :sleep: . (ce que je voulais dire, c'est qu'en java l'erreur est plus ou moins compréhensible avec le message d'erreur affiché!)


 
 
Ben avant de poster une question sur HFR, je vérifie quand même que la réponse ne se trouve pas sur mon ami Google ...
 
M'enfin, chacun son truc ;)

Reply

Marsh Posté le 11-10-2004 à 17:56:50    

Dj YeLL a écrit :

Ben avant de poster une question sur HFR, je vérifie quand même que la réponse ne se trouve pas sur mon ami Google ...
 
M'enfin, chacun son truc ;)


 
ben vi, moi aussi en général! Mais bon, c du code que j'ai pris direct depuis un livre, je pouvais quand même m'attendre à ce que ca fonctionne...
 
Bon si on pouvait en revenir à mon problème, ca serait pas mal :D.

Reply

Marsh Posté le 11-10-2004 à 17:57:27    

Dj YeLL a écrit :

euh ... ben peut etre :
 

Code :
  1. echo '<script>window.parent.location = "'.$redirection.'" ;</script>"';


 
non ?


 
ben euh... possible :D.
 
Vais essayer!

Reply

Marsh Posté le 11-10-2004 à 20:46:20    

le_duc a écrit :

ben euh... possible :D.
 
Vais essayer!


 
Ca marche :jap: ! merci.

Reply

Marsh Posté le 19-05-2010 à 23:21:39    

EOF (ou EOT ou TOTO) a aussi son intérêt...
L'erreur ici est l'espace qu'il y a entre "EOF" et ";" (a la fin)
Il ne faut pas d'espace.


Message édité par flo892 le 19-05-2010 à 23:22:00
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed