[résolu] Compatibilité du code php avec Kompozer

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Michel_Aix

[résolu] Compatibilité du code php avec Kompozer

Message par Michel_Aix »

Pour faire des stats sur le téléchargement de documents pdf, un collègue a ajouté dans ma page index du code php.
Il l'a placé en haut de page. Le problème est que Kompozer, en ouvrant la page, le déplace d'autorité après le Doctype et en le faisant précéder d'un header. Evidemment ça ne marche plus.

Une fois ce script a même disparu à l'enregistrement.
Le script est le suivant:

Code : Tout sélectionner

<?php session_start();
include('./config.php');
include('./utils.php');
$link=connexion($serveur,$loginSQL,$passSQL);
?>
Quelqu'un saurait résoudre ce problème ?
Merci

Michel



Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; fr-fr) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
Fabrice.Tres.Net
Tyrannosaurus Rex
Messages : 2390
Inscription : 26 juin 2006, 12:50

Message par Fabrice.Tres.Net »

De souvenir, il y a une syntaxe à respecter avec Kompozer pour mettre du php avant le doctype. heureusement ce point a été abordé sur le forum, et peut-être dans le tuto à la bière.
Je te laisse chercher.
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Michel_Aix a écrit :Il l'a placé en haut de page.
ben oui, mais où exactement?
Michel_Aix a écrit :en le faisant précéder d'un header.
"un header"? En le mettant dans le <head>, tu veux dire?
Quel était le code avant puis après, ce sera plus clair?!

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

HandCoder est indispensable pour inclure du code PHP avant le Doctype : http://extensions.geckozone.org/HandCoder/
Sans quoi, KompoZer déplace le prologue PHP dans le nœud <head>, et ça marche pu.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Michel_Aix

Message par Michel_Aix »

Voici le texte initial qui fonctionne:

Code : Tout sélectionner

<?php
session_start();
include('./config.php');
include('./utils.php');
$link=connexion($serveur,$loginSQL,$passSQL);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
Et ce qu'en fait Kompozer

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html style="direction: ltr;" lang="fr">
<head>
<?php session_start();
include('./config.php');
include('./utils.php');
$link=connexion($serveur,$loginSQL,$passSQL);
?>
  <meta http-equiv="Content-Type"
D'après la réponse de Kazé, il me faut handcoder pour résoudre le problème. Je vais voir ça.
Merci pour votre aide.

Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; fr-fr) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Michel_Aix a écrit :D'après la réponse de Kazé,
Cela me paraît une assez bonne référence sur la question précise...

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (hardy) Firefox/3.0.6
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Michel_Aix

Message par Michel_Aix »

@Ymai: En effet !

Ca marche !!!
Merci Kazé

A part ça j'ai un pb d'identification sur le forum, que j'ai contourné. A qui pourrais-je m'adresser pour le résoudre proprement ? J'avais essayé il y a quelques temps, sans avoir de réponse.


Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; fr-fr) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Michel_Aix a écrit :A part ça j'ai un pb d'identification sur le forum,
Mais encore?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (hardy) Firefox/3.0.6
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Michel_Aix

identification sur forum

Message par Michel_Aix »

@ Ymai

Mon nom d'utilisateur était Michel Aix depuis un certain temps.
Maintenant quand je veux me connecter ainsi, mon nom d'utilisateur est refusé car "invalide ou inactif".
J'ai dû créer Michel_Aix, mais en donnant une autre adresse courriel la première étant "déjà utilisée". Mais c'est une adresse que je n'utilise jamais.

J'aimerais réutiliser ma première identification et supprimer la seconde.
On peut éventuellement continuer là-dessus par message privé (par l'une ou l'autre de mes adresses).

Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; fr-fr) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Re: identification sur forum

Message par Ymai »

Michel_Aix a écrit :Mon nom d'utilisateur était Michel Aix depuis un certain temps.
Depuis le 17 novembre 2005, si j'en crois la liste des membres.
Il faut des super-pouvoirs pour réinitialiser ce nom d'utilisateur. Le plus simple est sans doute de le supprimer pour pouvoir le re-créer ensuite.
Je demande voir si un admin aurait le temps de le supprimer.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (hardy) Firefox/3.0.6
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Michel_Aix

Message par Michel_Aix »

@ Kazé

L'utilisation de Handcoder a résolu mon problème de déplacement du code php. Mais le système ne fonctionne pas, càd que la liste de documents sur lesquels je veux faire des stat ne s'affiche pas. A la place, il y a:

'.$data['descriptif'].''; } ?>
Mon collègue, qui utilise DW m'écrit ceci::
j'ai un peu regardé sur les forums, et il semble que Komposer a des
problèmes avec php.
Ca vient du concept même de Komposer, qui n'est pas un simple "pisseur
de lignes", mais qui en fait réinterprète le code que l'on veut modifier
pour le recréer à sa manière (si j'ai bien compris).

Donc, il supprime le code php, et met du html à la place (en gros).

Résultat, si tu regardes les deux fichiers index les lignes 129 et seq:

Code : Tout sélectionner

<?
$reqfichier="select * from statistiques where categorie=1";
$resfichier=sendSQL($reqfichier,$link);
while($data=mysql_fetch_array($resfichier))
{
echo '<li><a 
href="telechargement.php?fichier='.$data['id_fichier'].'">'.$data['descriptif'].'</a></li>';
}
?>
devient (lignes 122 et seq)

Code : Tout sélectionner

<a
 href="telechargement.php?fichier=%27.$data%5B%27id_fichier%27%5D.%27">'.$data['descriptif'].'</a>';
}
?>
Je pense que le mieux est que passe à DreamWeaver ou autre logiciel qui
ne fasse que de l'édition de page.
Ca m'étonne et je ne veux pas abandonner Kompozer qui répond à mon besoin,hors php.
La solution est peut-être Handcoder car je n'ai pas compris comment m'en servir pour l'édition de code. En effet le menu Outils/handcoder/editeur texte ne conduit à rien en mode normal et à une demande d'enregistrement de la page en cours en mode source.

A l'aide, merci


Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; fr-fr) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Qu'as-tu dans la page Général des options? "Reformater la source html" coché?
Chez moi décoché.
(c'est qu'une piste)

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Michel_Aix a écrit :
j'ai un peu regardé sur les forums, et il semble que Komposer a des
problèmes avec php.
Des années que j'utilise KpZ avec Handcoder pour éditer des pages contenant du PHP. Sans souci jusqu'à la version 0.7.10

Pour la 0.8.1.a, il faudra qu'on en rediscute. Là, les choses sont moins claires pour l'instant. Mais je dois fouiller le forum pour voir si ça a déjà été signalé.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.04 (hardy) Firefox/3.0.6
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Michel > Il est tout-à-fait possible d’utiliser KompoZer pour éditer des pages PHP. Il y a deux conditions pré-requises :
  • installer et configurer HandCoder
    Si Outils/handcoder/editeur texte n’ouvre rien, c’est très vraisemblablement parce que tu n’as pas spécifié d’éditeur texte dans les options de HandCoder
  • bosser sur du code PHP super-propre
    On peut mélanger du code PHP avec du HTML mais il faut le faire « proprement » : le document HTML doit rester cohérent (valide) sans le PHP — autrement dit, le code PHP doit s’insérer comme des nœuds HTML dans le document.
L’idéal est, à mon avis, d’utiliser des systèmes de templates PHP tels que Smarty, mais force est de constater que ce n’est pas l’usage dominant.
Pour en revenir à ton problème :

Code : Tout sélectionner

<?
$reqfichier="select * from statistiques where categorie=1";
$resfichier=sendSQL($reqfichier,$link);
while($data=mysql_fetch_array($resfichier))
{
echo '<li><a
href="telechargement.php?fichier='.$data['id_fichier'].'">'.$data['descriptif'].'</a></li>';
}
?>
En remplaçant la première ligne par

Code : Tout sélectionner

<?php 
tout devrait rentrer dans l’ordre.
HandCoder devrait automatiquement remplacer les balises courtes <?…?> (beurk) et <%…%> (beuuuuuurk) par la forme standard <?php…?>, mais visiblement il y a un bug de ce coté-là.
j'ai un peu regardé sur les forums, et il semble que Komposer a des problèmes avec php.
Ca vient du concept même de Komposer, qui n'est pas un simple "pisseur de lignes", mais qui en fait réinterprète le code que l'on veut modifier pour le recréer à sa manière (si j'ai bien compris).
Je confirme que le principe de fonctionnement de KompoZer pose problème pour du développement ouèbe « moderne », i.e. pour des pages qui contiennent du code interprété par le serveur. Si quelqu’un a un an de salaire à me filer, je transforme KompoZer en un « pisseur de lignes »sur une base OpenKomodo et je renvoie DreamWeaver au musée… mais on en n’est pas là, pour l’instant il faut se contenter de HandCoder.
Donc, [KompoZer] supprime le code php, et met du html à la place (en gros).
Nan, ça par contre c’est complètement inexact. Je ne sais pas comment ton collègue a pu arriver à cette conclusion, il est assez probable qu’il n’ait jamais utilisé KompoZer.
Ymai a écrit :Des années que j'utilise KpZ avec Handcoder pour éditer des pages contenant du PHP. Sans souci jusqu'à la version 0.7.10
Pour la 0.8.1.a, il faudra qu'on en rediscute. Là, les choses sont moins claires pour l'instant. Mais je dois fouiller le forum pour voir si ça a déjà été signalé.
J’ai probablement botté en touche la question HandCoder pour l’instant. Il me reste quelques détails d’encodage à régler dans KompoZer 0.8a1 avant que l’on puisse sérieusement bosser sur HandCoder.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Michel_Aix

Message par Michel_Aix »

A Kazé

J'ai remplacé les balises beurkkk par les belles et ça marche !

Sauf pépin imprévu, le problème est résolu.
De même j'ai paramétré Handcoder pour utiliser smultron.

Merci de ton aide rapide.

Message envoyé avec : Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_6; fr-fr) AppleWebKit/525.27.1 (KHTML, like Gecko) Version/3.2.1 Safari/525.27.1
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité