• Bonjour Visiteur. Bienvenue sur les nouveaux forums de MacGeneration. La peinture est encore fraiche, quelques boulons doivent être resserrés, plus d’informations demain !

Prévisualisation de code php

Fasola

Membre junior
2 Mai 2008
27
2
chipluvrio.free.fr
Hello à tous

Ouh ! Là, là, y a eu du passage. Merci pour cette mobilisation. :up:

Donc, en gros reprenons :

1 : Je n'utilise pas Text edit, pour taper mon code. ;) J'ai utilisé Smultron, et avant Taco HTML edit(Une version qui a 2 ans au moins) et j'ai sauvegardé le fichier en .php

Je mets une capture d'écran de mon code dans smultron. Je vais aussi sur macbidouille et un macbidouilleur a évoqué cet aspect aussi.

Je le cite :
Ce qui est certain, c'est que normalement la page source d'une page html ne peut pas contenir de ligne PHP
En fait je n'ai fait que suivre le tuto du sitezero.com, faisant un cop-coll de l'entête de leur code exemple : Ici


2 : grumff :
T'as dis que le partage web était démarré, est-ce que tu l'as REdémarré ?
REdémarrer quoi ? Le Navigateur ?

Mon partage web est activé en permanence, depuis. Donc depuis j'ai redémarré plus d'une fois le navigateur. Est ce bien de celà qu'il s'agit ? :confused:

3 :
Et en affichant la source, t'as quoi ? Toujours page blanche ou les balises php ?
Si je tape juste <?php phpinfo(); ?>, avec rien d'autre, respectant les espaces dans Smultron, que ce soit avec le serveur de Mac ou MAMP, j'ai page blanche, mais dans le code source, la balise php y est telle quelle.

Si je tape l'ensemble, pas de code php sur la page, mais dans le code source, la balise y figure bien.
 

grumff

Membre d’élite
Club MacG
9 Novembre 2000
3 606
99
Grenoble, France
www.grumff.com
REdémarrer quoi ? Le Navigateur ?

Mon partage web est activé en permanence, depuis. Donc depuis j'ai redémarré plus d'une fois le navigateur. Est ce bien de celà qu'il s'agit ? :confused:
Le partage web n'a rien à voir avec le navigateur, il s'agit de la case à cocher dans preference system/partage. Il faut la décocher et la recocher, ça relance le serveur apache, si tu ne l'a pas fait, c'est normal que tu aies ce type de comportement, la modification du httpd.conf n'a pas été prise en compte, donc php n'est pas activé, donc le code n'est pas interprété.
Tu peux aussi le redémarrer depuis un terminal :
sudo apachectl restart
 

Fasola

Membre junior
2 Mai 2008
27
2
chipluvrio.free.fr
Hello à tous :)

Ne cherchez plus, ça y'est on a fini par y arriver. Un Mac Bidouilleur, nommé N°6 à trouvé la raiZon du blême.

La voici :

Il s'agit de cette balise dans Head, que j'avais écrite, dans ma page php, ainsi :

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

Hors l'encodage du texte doit être en UTF 8

On doit donc avoir ça, à la place :

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Sur Taco HTML edit, lorsque l'on sauvegarde, il faut choisir UTF 8 dans le menu "File Type.

Dans Smultron, avant de sauvegarder, il faut aller dans le menu "Texte" ---->Encodage du texte et choisir UTF 8 (Il existe aussi UTF 16 dans Smultron, si on choisissait cet encodage, la balise sera, alors : <meta http-equiv="Content-Type" content="text/html; charset=UTF-16" />

J'espère que c'est clair, au cas, où d'autres rencontreraient ce problème

Voilà, il ne me reste plus qu' à remercier tout l'monde pour avoir pris de son temps pour m'aider, en particulier grumff, toujours présent, après chacun de mes posts, mais également p4bl0, qui a était très présent également, dans cette recherche. Et si c'est sur Mac bidouille qu'on y est arrivé, croyez bien que ce n'est pas sans l'aide de Mac Génération, puisque en Ping-Pong, sur les 2 forums, en attaquant le problème sous des angles différents, on parvenait à éliminer des mauvaises raiZons.

Croyez bien les gars que si je pouvais, je vous offrirai volontiers un coup, pour avoir donner de votre temps à un inconnu du Web.

Merci à vous sincèrement. Je suis un Homme heureux, qui vais enfin pouvoir poursuivre son apprentissage du php.:D

Je laisse le lien du topic similaire de mac bidouille ici, pour faire bonne mesure, ainsi si quelqu'un se retrouve en face d'un problème avec le php et MAMP, il trouvera avec ces 2 topics, de bonnes pistes :

http://forum.macbidouille.com/index.php?showtopic=287483&st=0

Merci, encore vraiment :zen: :up:

@ +
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
a la preuve du contraire php supporte seulement(pour 8-bit UCS/Unicode) un encoding UTF8 NOBOM (Byte Order Mark)
mais j'ai fait des tests et je n'obtient pas ton resultat un fichier qui fourni de l'UTF8 avec un encoding ISO Latin j'obtient une sortie de deux ca ne resout pas la question

info.php {

<? phpinfo(); ?>

}

qui ne marchait pas donc il est ou le fluttio?
 

grumff

Membre d’élite
Club MacG
9 Novembre 2000
3 606
99
Grenoble, France
www.grumff.com
Normalement la balise meta http-equiv ne sert qu'à indiquer au navigateur ce qu'il doit lire, le php est interprété en amont par le serveur apache, ça m'étonnerait TRÈS fortement qu'il se préoccupe des balises html. D'autant que les balises php sont codées pareil qu'on soit en utf-8 en macroman ou en iso8859-1(ou 15)/windowslatin-1
(dans le pire des cas j'arrive à reproduire en utf-16, mais bon, là c'est un peu normal, et ça passe pas en changeant une balise meta)

Tu es sûr que le problème n'est pas plutôt celui que j'ai indiqué ? à savoir que tu n'avais pas redémarré le serveur, et que ce soit passé par exemple en rebootant la machine ? Car si tu n'avais pas fait cette manip il était IMPOSSIBLE que le code soit interprété.
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
30
$PWD
p4bl0.net
Normalement la balise meta http-equiv ne sert qu'à indiquer au navigateur ce qu'il doit lire, le php est interprété en amont par le serveur apache, ça m'étonnerait TRÈS fortement qu'il se préoccupe des balises html. D'autant que les balises php sont codées pareil qu'on soit en utf-8 en macroman ou en iso8859-1(ou 15)/windowslatin-1
(dans le pire des cas j'arrive à reproduire en utf-16, mais bon, là c'est un peu normal, et ça passe pas en changeant une balise meta)

Tu es sûr que le problème n'est pas plutôt celui que j'ai indiqué ? à savoir que tu n'avais pas redémarré le serveur, et que ce soit passé par exemple en rebootant la machine ? Car si tu n'avais pas fait cette manip il était IMPOSSIBLE que le code soit interprété.
Ouais je suis de l'avis de grumff la balise meta je vois pas le rapport.

T'as du redémarrer ton serveur, les modifs ont été prisent en compte et par coïncidence t'as fait le changement dans la balise meta en même temps.
Ou alors y a vraiment un truc qui m'échappe ! Apache ou php ne vont certainement pas lire le html et changer leur comportement en fonction d'une balise meta (ça n'agît que côté client au niveau du browser).

:nailbiting:
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
Ouais je suis de l'avis de grumff la balise meta je vois pas le rapport.

T'as du redémarrer ton serveur, les modifs ont été prisent en compte et par coïncidence t'as fait le changement dans la balise meta en même temps.
Ou alors y a vraiment un truc qui m'échappe ! Apache ou php ne vont certainement pas lire le html et changer leur comportement en fonction d'une balise meta (ça n'agît que côté client au niveau du browser).

:nailbiting:
bien sur mais j'ai teste si cela ne creait pas une abscence de paint coter navigateur
cause of mismatch of encodings et ca ne gene pas dutout les navigateurs pour sublimer l'encoding
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
30
$PWD
p4bl0.net
bien sur mais j'ai teste si cela ne creait pas une abscence de paint coter navigateur
cause of mismatch of encodings et ca ne gene pas dutout les navigateurs pour sublimer l'encoding
D'accord mais même si le browser fait carton avec l'encodage parce qu'il a deux trucs différents entre le header http et le tag meta, je vois pas en quoi ça peut avoir un effet sur la non interprétation du php et le fait qu'il y ai toujours le code php côté client. :confused:
 

Fasola

Membre junior
2 Mai 2008
27
2
chipluvrio.free.fr
Hello @ tous :)

Ben je ne sais quoi vous dire. :confused:

J'ai gardé mes différentes pages et quand j'envoie celle avec <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />, je n'ai pas ce qui est dans la balise php :( et quand j'envoie celle avec <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />, ben je l'ai :)

Par contre, effectivement, toujours page blanche avec la page où je n'ai que <?phpinfo(); ?> :hein:
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
D'accord mais même si le browser fait carton avec l'encodage parce qu'il a deux trucs différents entre le header http et le tag meta, je vois pas en quoi ça peut avoir un effet sur la non interprétation du php et le fait qu'il y ai toujours le code php côté client. :confused:

je n'etais plus la le prepose etant que le code est execute mais que le resultat du script ne s'affichait pas a cause d'un probleme d'encodage

mais ceci dis le fichier est lu par l'interpreteur php quand tu mets .php
so j' ai verifie si il y n y vait pas de merde de ce cote aussi

en tous les cas test sous leo demarrage du serveur par default sans rien toucher

/Library/Websever/Documents/info.php et tout le reste

aucun souci, c'est "unreproducible" sur ma plateforme