8796 sujets

Développement web côté serveur, CMS

Bonjour à tous

Je viens d'installer un script PHP avec base de données MySQL sur mon site. Le voici:
http://www.gentlesource.com/comment-script/
Il s'agit d'un script permettant de laisser des commentaires sur une page

L'installation s'est bien déroulée. J'en suis donc à l'intégration du PHP sur ma page
Dans la documentation qui va avec, et écrite en anglais (ce qui n'est pas mon fort :roll:), il est écrit ceci:

a écrit :

Include into a PHP File

You can include the script anywhere on your web server.

Step-by-Step:

1. Copy the file include.php into the folder where your files reside you want to
implement with Comment Script.

2. Add the PHP include statement at the very top of your existing PHP file. It is important that no output is made before the include statement.

include './include.php';

In case you have HTML code in your PHP file, it would have to look like this:

<?php include './include.php'; ?>

<html>
<head>[...]</head>
<body>[...]</body>
</html>

3. Move the variable $c5t_output from the new include.php file to the place in
your existing PHP file where you want the Comment Script content to appear.

echo $c5t_output;

It is important that you delete the variable $c5t_output from include.php
once you have moved $c5t_output to your existing web page.


Je pensais que j'avais tout fait comme dit, mais ça ne marche pas

Je vous dis donc ce que j'ai fait:

-Déjà dans ce que j'ai téléchargé, le fichier ne s'appele pas include.php mais include.php.tpl

-J'ai mis ce fichier (include.php.tpl) à la racine de mon site

-J'ai mis l'instruction [B]echo $c5t_output;[/B] dans ma page actu.htm que j'ai renommée en actu.php

-Et j'ai enlevé cette instruction de mon fichier include.php.tpl, dont je vous mets le contenu:

AVANT:


<?php

/** 
 * GentleSource Comment Script
 * 
 * (C) Ralf Stadtaus  http://www.gentlesource.com/
 
 */


define('C5T_ROOT', '{$server_script_path}');
include C5T_ROOT . 'comment.php';








echo $c5t_output;
?>


Et APRES


<?php

/** 
 * GentleSource Comment Script
 * 
 * (C) Ralf Stadtaus  http://www.gentlesource.com/
 
 */


define('C5T_ROOT', '{$server_script_path}');
include C5T_ROOT . 'comment.php';









?>


-Voici le contenu de ma page actu.htm, sur laquelle je veux que les gens laissent des commentaires:



<?php include './include.php.tpl'; ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>

<body>

<br />
Contenu de mon article
<br />
echo $c5t_output;

</body>
</html>




Si vous pouviez m'aider, je vous en remercie 100 fois par avance Smiley smile
[code]
Modifié par greg056 (12 Mar 2009 - 21:24)
Ca y'est, j'y suis arrivé au bout de plusieurs heures Smiley eek Smiley lol

Cependant, me voilà confronté à un autre problème, que je n'arrive pas à résoudre:

Vu que le script est en anglais, quand je laisse un commentaire avec des accents, ça laisse ceci:
Par exemple, quand je dépose un commentaire: "très beau défilé", ça donne sur ma page: "très beau défilé"

Que faut-il faire? Smiley decu
Salut,

greg056 a écrit :
Vu que le script est en anglais, quand je laisse un commentaire avec des accents, ça laisse ceci:
Par exemple, quand je dépose un commentaire: "très beau défilé", ça donne sur ma page: "très beau défilé"
Rien à voir avec l'anglais mais avec l'encodage : voir Comment bien déclarer l'encodage des caractères d'un document.

En l'occurrence il s'agit d'utf-8 servi en tant que latin1 (iso-8859-1).

A vérifier :

* les headers sont bien en utf-8 ? (cf. http://web-sniffer.net/ ). Si ça n'est pas le cas lire ce post.

* ta page est bien déclarée en utf-8 ?
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
* tes tables sont bien encodées en utf-8 ?

* la connexion est bien en utf-8 ?
mysql_query('SET NAMES UTF8');
* ta page est bien enregistrées en utf-8 ?
Modifié par Heyoan (13 Mar 2009 - 10:35)
Heyoan a écrit :
Salut,

Rien à voir avec l'anglais mais avec l'encodage : voir Comment bien déclarer l'encodage des caractères d'un document.

En l'occurrence il s'agit d'utf-8 servi en tant que latin1 (iso-8859-1).

A vérifier :

* les headers sont bien en utf-8 ? (cf. http://web-sniffer.net/ ). Si ça n'est pas le cas lire ce post.

* ta page est bien déclarée en utf-8 ?
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
* tes tables sont bien encodées en utf-8 ?

* la connexion est bien en utf-8 ?
mysql_query('SET NAMES UTF8');
* ta page est bien enregistrées en utf-8 ?


Bonjour Hetoan, et merci pour ta réponse Smiley cligne

Pour les 3 premières questions, je pense que oui

Dans le doute, pour la 1ère question, je te mets la réponse de web-sniffer:

a écrit :

HTTP Request Header

GET / HTTP/1.1
Connection: close
User-Agent: Web-sniffer/1.0.28 (+http://web-sniffer.net/)
Accept-Encoding: gzip
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7
Cache-Control: no
Accept-Language: de,en;q=0.7,en-us;q=0.3
Referer: http://web-sniffer.net/


HTTP Response Header

Name Value Delim
HTTP Status Code: HTTP/1.1 200 OK
Date: Fri, 13 Mar 2009 14:01:00 GMT
Server: Apache
Last-Modified: Thu, 12 Apr 2007 11:13:39 GMT
ETag: "d-58ff-42de87a939ec0"
Accept-Ranges: bytes
Content-Length: 22783
Connection: close
Content-Type: text/html


Pour les 2 dernières questions (connexion et page enregistrée), je ne sais pas ce qu'il faut faire pour le savoir

Oui je sais, je suis nul Smiley lol , et je galère sur ce script depuis hier soir Smiley decu

Merci encore
La ligne qui nous intéresse est celle-ci :
greg056 a écrit :
Content-Type: text/html
qui signifie qu'aucun encodage n'est déclaré dans les en-têtes et donc que la déclaration prise en compte se fera avec :
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Pour ce qui est de la connexion elle se fait généralement (par défaut) en latin1 et il faut donc préciser juste après la connexion à la base
mysql_query('SET NAMES UTF8');
Pour ce qui est d'enregistrer ta page PHP en utf-8 cela va dépendre des options de ton éditeur (notepad++, komodo edit, PsPad, dreamweaver, etc.). Il faut juste prendre garde à décocher une éventuelle option utf-8 avec BOM (car les caractères de BOM peuvent poser plusieurs problèmes).