Page 1 sur 2

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

Publié : 24 févr. 2009, 15:45
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

Publié : 24 févr. 2009, 17:04
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.

Publié : 24 févr. 2009, 17:46
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

Publié : 24 févr. 2009, 18:07
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.

Publié : 24 févr. 2009, 19:07
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

Publié : 24 févr. 2009, 19:40
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

Publié : 24 févr. 2009, 20:09
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

Publié : 24 févr. 2009, 20:10
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

identification sur forum

Publié : 25 févr. 2009, 18:58
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

Re: identification sur forum

Publié : 25 févr. 2009, 19:21
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

Publié : 26 févr. 2009, 08:45
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

Publié : 26 févr. 2009, 09:26
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

Publié : 26 févr. 2009, 10:53
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

Publié : 26 févr. 2009, 11:34
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.

Publié : 26 févr. 2009, 14:11
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