Probleme de caractere spéciaux

Probleme de caractere spéciaux - PHP - Programmation

Marsh Posté le 30-03-2008 à 20:13:10    

Enfin il me semble que c un probleme de ce gout là

 

Je voudrais créer une fonction qui permette d'insérer un entête XHTML strict valide.

 

J'ai donc dans ma page html tapé ça au début :

 
Code :
  1. <?php
  2. include("entete.php" ); hautpage('montitre');
  3. ?>
 

Et ensuite dans la page entete.php

 
Code :
  1. <?php
  2. function hautpage($TitreCourant) {
  3. print "<?xml version="1.0"?>;
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  6. <head>
  7. <meta name="description" content="description de la page" />
  8. <meta name="keywords" content="mots clés" />
  9. <title>$TitreCourant</title>
  10. </head>
  11. <body>\n" ;
  12. }
  13. ?>
 

Le probleme est que ma fonction n'est pas correctement fermé à cause de certains caractere qu'il y a dans le print, comme le ?> de <?xml version="1.0"?> qui me ferme la balise <?php prématurément, jai aussi les // qui posent probleme. Comment on fait pour que ces caracteres ne soit pas interpreter ? merci


Message édité par Lmao le 30-03-2008 à 20:19:56
Reply

Marsh Posté le 30-03-2008 à 20:13:10   

Reply

Marsh Posté le 30-03-2008 à 20:15:58    

t'as fermé les " trop tôt à la ligne 3. (Si ça marche toujours pas, essaye avec des ' )


Message édité par art_dupond le 30-03-2008 à 20:20:01

---------------
oui oui
Reply

Marsh Posté le 30-03-2008 à 20:19:19    

Non c'est pas ça le probleme ça n'y change rien, merci quand meme

Reply

Marsh Posté le 30-03-2008 à 20:21:34    

ah j'ai mal vu. tu mets des " autour de ta chaine ET dans ta chaine.

 

Mets des ' autour de ta chaine

 

edit: par contre il me semble que pour le \n il faille des ". Si c'est le cas, ferme ta chaine juste avant et ajoute ."\n";

 

edit2: il te faudra bien sûr aussi bien concaténer ta variable : fermer la chaîne avant ta variable :      '.....'.$TitreCourant.'.....'."\n";

Message cité 1 fois
Message édité par art_dupond le 30-03-2008 à 20:23:39

---------------
oui oui
Reply

Marsh Posté le 30-03-2008 à 20:24:45    

art_dupond a écrit :

ah j'ai mal vu. tu mets des " autour de ta chaine ET dans ta chaine.

 

Mets des ' autour de ta chaine

 

edit: par contre il me semble que pour le \n il faille des ". Si c'est le cas, ferme ta chaine juste avant et ajoute ."\n";

 

Ca change pas non plus, pour mieux texpliquer ma balise php se ferme peut importe ce que je fais, le premier ?> qui apparait dans la fonction la ferme alors que ça devrait etre le ?> de la fin qui devrait la fermer :/


Message édité par Lmao le 30-03-2008 à 20:25:14
Reply

Marsh Posté le 30-03-2008 à 20:33:35    

tu peux montrer ta chaîne corrigée ?


---------------
oui oui
Reply

Marsh Posté le 30-03-2008 à 20:37:33    

Code :
  1. <?php
  2. function hautpage($TitreCourant) {
  3. print '<?xml version="1.0"?>;
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  6. <head>
  7. <meta name="description" content="description de la page" />
  8. <meta name="keywords" content="mots clés" />
  9. <title>$TitreCourant</title>
  10. </head>
  11. <body>"\n" ' ;
  12. }
  13. ?>


Message édité par Lmao le 30-03-2008 à 20:37:53
Reply

Marsh Posté le 30-03-2008 à 20:45:43    

bizarre chez moi ça marche.

 

Qu'est-ce qui te fait dire que le ?> se ferme directement ?

 

As-tu affiché la source de la page générée pour vérifier ce qui est affiché ?

  

Je t'ai nettoyé la chaine (il restait quelques erreurs)

Code :
  1. <?php
  2. function hautpage($TitreCourant)
  3. {
  4. echo '<?xml version="1.0"?>;
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  7. <head>
  8. <meta name="description" content="description de la page" />
  9. <meta name="keywords" content="mots clés" />
  10. <title>'.$TitreCourant.'</title>
  11. </head>
  12. <body>'."\n" ;
  13. }
  14. ?>


Message édité par art_dupond le 30-03-2008 à 20:46:05

---------------
oui oui
Reply

Marsh Posté le 30-03-2008 à 20:50:55    

Merci ton code marche parfaitement ! :love:

Reply

Marsh Posté le 30-03-2008 à 21:38:04    

J'aimerais bien créer une fonction qui permette d'insérer une feuille de style avec le nom de la feuille de style passé en paramètre, t'aurais une idée ? jpeux l'inclure à ma fonction entete  ?

Reply

Marsh Posté le 30-03-2008 à 21:38:04   

Reply

Marsh Posté le 30-03-2008 à 22:01:32    

oui, tu passes un deuxième argument à ta fonction et tu ajoutes la ligne pour le css en faisant bien attention à la concaténation (pas comme avant ;))
 
(regarde comment j'ai inséré la variable $TitreCourant dans ta chaine)


---------------
oui oui
Reply

Marsh Posté le 30-03-2008 à 22:05:37    

art_dupond a écrit :

oui, tu passes un deuxième argument à ta fonction et tu ajoutes la ligne pour le css en faisant bien attention à la concaténation (pas comme avant ;))

 

(regarde comment j'ai inséré la variable $TitreCourant dans ta chaine)

 

C'est ce que j'ai fais par déduction mais ça fonctionne pas

 
Code :
  1. <?php
  2. function hautpage($TitreCourant,$CSS)
  3. {
  4. echo '<?xml version="1.0"?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  7. <head>
  8. <link rel="stylesheet" type="text/css" href='.$CSS.' />
  9. <meta name="description" content="description de la page" />
  10. <meta name="keywords" content="mots clés" />
  11. <title>'.$TitreCourant.'</title>
  12. </head>
  13. <body>'."\n" ;
  14. }
  15. ?>


Message édité par Lmao le 30-03-2008 à 22:05:46
Reply

Marsh Posté le 30-03-2008 à 22:07:24    

Code :
  1. <?php
  2. include("entete.php" ); hautpage('montitre','formulaire.css');
  3. ?>

Reply

Marsh Posté le 30-03-2008 à 22:22:57    

essaye  
 
href="'.$CSS.'" />


---------------
oui oui
Reply

Marsh Posté le 30-03-2008 à 22:26:44    

Ha non en fait mon code d'avant marche javais fait une petite erreur, merci :)

Reply

Marsh Posté le 31-03-2008 à 23:49:06    

garde quand meme cette ecriture : href="'.$CSS.'" /> pour avoir au final href="formulaire.css" au lieux de href=formulaire.css
la premiere est valide xhtml  pas la 2eme :)

Reply

Sujets relatifs:

Leave a Replay

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