Page 1 sur 2

Problème avec Require

Posté : 03 oct. 2005, 15:17
par Nashash
Bonjour,

je me retrouve confronté à un problème avec l'instruction require.

J'ai une page html avec un extension php (index.php) dans laquelle je fais appel à un fichier externe en php contenant les codes nécéssaires pour me connecter à ma base Mysql.

Mon souci est le suivant: la connection se fait parfaitement, le résultat est bon, mais avant le résultat il m'affiche ces quelques charactères 

Quel que soit le code que je place dans le fichier externe en php j'ai toujours ces signes.

Si je place le code directement dans le fichier html je ne rencontre plus aucun souci, mais par sécurité je ne peux mettre le contenu du fichier externe dans la page de base index.php

J'ai essayé de remplacer le require par un include mais je rencontre toujours le même problème.

Le code dans la page html:
 
<?php
require 'nom_du_fichier.php';
$query="SELECT Titre FROM Nouvelles";
$result = mysql_query($query) or die('Query failed : ' . msql_error($db));
$row = mysql_fetch_assoc($result);
echo $row['Titre'];
mysql_close($db);
?>

Le code dans le fichier externe est un classique appel à la base de donnée.

Qulqu'un sait-il se qui se passe ?

Posté : 03 oct. 2005, 15:20
par zeus
Fait voir le code dans le fichier nom_du_fichier.php en prennant le soin de camoufler le pass

Message d'erreur

Posté : 03 oct. 2005, 15:21
par lelapinou
tu n'as pas de message d'erreur.
Quelle est ta config php?

Posté : 03 oct. 2005, 15:34
par Xenon_54
Remplace msql_error() par mysql_error()

msql_* est utilisé pour les bases de données mSQL et non MySQL.

Posté : 03 oct. 2005, 16:01
par Nashash
Voici le code du fichier externe:
<?php
$db = mysql_connect('xx.xx.xx.xx', 'xxxxx', 'xxxxx')
	or die('Could not connect : ' . mysql_error($db));
mysql_select_db('xxxxx',$db)
	or die('Could not select database');
?>
Sinon je n'obtiens aucun message d'erreur, juste ces signes placés juste avant le résultat (qui lui est bon de surcroît).

J'ai remplacé msql_error() par mysql_error() mais sans résultat.

Le pire c'est que si je place le code du fichier externe dans la page de base, les signes disparaissent et tout fonctionne de nouveau correctement. Mais dès que j'appelle le fichier externe les signes apparaissent. C'est vraiment les instructions require et include qui posent problème :?

Comme j'ai des pass dans le fichier externe je ne peux les intégrer dans le fichier de base bien entendu.

Posté : 03 oct. 2005, 16:05
par zeus
Et si tu met cette ligne en commentaire, qu'est-ce qui se passe ?
echo $row['Titre'];

Posté : 03 oct. 2005, 16:05
par mere-teresa
As-tu testé en faisant
 if(require(tonfichier)){
//instructions
}
Sinon change le nom de ton fichier :) il suffit parfois d'une broutille

Posté : 03 oct. 2005, 16:05
par Nashash
Je rajouterais que j'ai utilisé Dreamweaver 4.0 pour créer la page html dans laquelle j'intègre le code php. Je ne sais pas si ça a de l'importance.

Posté : 03 oct. 2005, 16:08
par Invité
Et si tu met cette ligne en commentaire, qu'est-ce qui se passe ?
echo $row['Titre'];
J'obtiens ceci:

ďťżTitre 1



"Titre 1" est bon, c'est ce que j'attend, c'est tout ce qui est avant qui ne devrait pas s'y trouver.

J'essai de suite ce que tu proposes Mere-Teresa, la lumière viendra peut-être de tes louanges :)

Posté : 03 oct. 2005, 16:12
par Nashash
As-tu testé en faisant
 if(require(tonfichier)){
//instructions
}
Sinon change le nom de ton fichier :) il suffit parfois d'une broutille
J'ai essayé mes j'obtiens toujours le même résultat: ďťżTitre 1

Posté : 03 oct. 2005, 16:17
par zeus
J'obtiens ceci:

ďťżTitre 1
Je ne comprend pas comment est-ce que tu obtient ça en mettant le echo en commentaire ??? Peut tu éclairer ma lanterne ?

Posté : 03 oct. 2005, 16:21
par mere-teresa
As-tu moyen de voir :
- le contenu de ta bdd ?
- le code source HTML de ta page ?

Les Z et autres me font penser soit à du copier/coller sous Dreamweaver, soit à du mauvais encodage de caractère (Mac/Windows/Unix).

Posté : 03 oct. 2005, 16:32
par Invité
J'obtiens ceci:

ďťżTitre 1
Je ne comprend pas comment est-ce que tu obtient ça en mettant le echo en commentaire ??? Peut tu éclairer ma lanterne ?
Ma foi si je le savais, j'arriverais peut-être à résoudre mon problème par la même occasion :)


As-tu moyen de voir :
- le contenu de ta bdd ?
- le code source HTML de ta page ?

Les Z et autres me font penser soit à du copier/coller sous Dreamweaver, soit à du mauvais encodage de caractère (Mac/Windows/Unix).
Oui je peux voir le contenu de ma bdd ainsi que le code source de ma page html dont voici la partie dans laquelle est inclu le code php:

Code : Tout sélectionner

... <tr> <td rowspan="7" colspan="4" valign="top" background="XXX.jpg"></td> <td rowspan="6" valign="top" height="438" background="XXX.jpg"> <?php require 'Fichier_Externe.php'; $query='SELECT Titre FROM Nouvelles'; $result = mysql_query($query) or die('Query failed : ' . mysql_error($db)); $row = mysql_fetch_assoc($result); echo $row['Titre']; mysql_close($db); ?></td> <td rowspan="7"><img name="XXX" src="XXX.jpg" width="19" height="489" border="0" alt=""></td> <td colspan="2" valign="top" background="XXX.jpg"></td> <td><img src="spacer.gif" width="1" height="129" border="0" alt=""></td> </tr> ...
Je ne sais pas si ça peut aider.

Posté : 03 oct. 2005, 16:40
par Nashash
Le gars ci-dessus qui oublie d'inscrire son pseudo c'est moi :oops:

Posté : 03 oct. 2005, 16:49
par mere-teresa
[-X Le code source HTML c'est pas du PHP, c'est ce que tu vois dans ton navigateur :)