un petit coup de main pour une erreur de code

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : un petit coup de main pour une erreur de code

par Invité » 13 nov. 2007, 10:14

c'est ce que j'ai fais j'ai cliquer sur le bouton resolu.

par Cyrano » 12 nov. 2007, 22:10

Avec un [Résolu] ce sera mieux ;)

par jfaucon » 12 nov. 2007, 20:51

je suis trop bete.

j'avais oublié <?php require_once('lang/decide-lang.php'); ?> au debut du fichier index.php

un grand merci pour le coup de main.

par Invité » 12 nov. 2007, 20:39

apparament je rentre bien dans l'include .

Warning: main(./lang/fr-lang.php): failed to open stream: No such file or directory in c:\program files\easyphp1-8\www\multilangues\lang\decide-lang.php on line 20

Warning: main(): Failed opening './lang/fr-lang.php' for inclusion (include_path='.;C:\PROGRA~1\EasyPHP1-8\\php\pear\') in c:\program files\easyphp1-8\www\multilangues\lang\decide-lang.php on line 20

./lang/fr-lang.php

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\multilangues\lang\decide-lang.php:20) in c:\program files\easyphp1-8\www\multilangues\lang\decide-lang.php on line 26

par jfaucon » 12 nov. 2007, 18:01

ok je regarde ça .

la je pars du boulo et je vois ça en rentrant encore merci de ta patience.

par Ryle » 12 nov. 2007, 17:57

S'il t'affiche le nom de la constante au lieu de sa valeur c'est que pour lui la constante n'a pas été définie. On peut donc supposer que l'include ne se fait pas correctement. Vérifies que les fichiers ont bien été inclu, que tes chemins sont bons, colle éventuellement des echo pour vérifier que tu rentres biens dans les fichiers, ...

par jfaucon » 12 nov. 2007, 17:45

oui oui extension php.

c'est quand meme hallucinant j'ai le meme code car c'est le tien que j'ai copié et chez toi ça fonctionne.

je suis maudit

par Cyrano » 12 nov. 2007, 17:42

:shock:
Dis donc, est-ce que tes fichiers ont bien l'extension .php ????

par jfaucon » 12 nov. 2007, 17:33

j'ai fais du menage et changer de server au lieu de easyphp j'ai pris wamp.

nouveau message erreur.

TXT_ACCUEIL_INDEX
Meteo du jour : TXT_METEO
Conseil du jour : TXT_CONSEIL_INDEX

par Cyrano » 12 nov. 2007, 17:23

Fais du ménage dans tes fichiers en supprimant les espaces inutiles et les lignes vides là où il y en a plus de 2 successives.

Comme je t'ai dit, je n'ai eu l'erreur qu'une seule fois et plus moyen de la reproduire depuis...

par jfaucon » 12 nov. 2007, 17:20

toujours la meme erreur c'est dingue.

:cry: :twisted:

par Cyrano » 12 nov. 2007, 16:53

Ben là, je sais pas trop, j'ai recréé les fichiers en local, j,ai effectivement vu l'erreur une fois, mais impossible de la reproduire, tout semble fonctionner. Voici le fichier remis en forme :
<?php
/* On récupère la lange avec un ternaire... */
$lang = (isset($_GET['lang'])) ? $_GET['lang'] : ((isset($_COOKIE['lang'])) ? $_COOKIE['lang'] : substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2));

/* On définit la langue du fichier à utiliser */
switch ($lang)
{
    case 'en':
        $fichier = 'en';
        break;
    case 'es':
        $fichier = 'esp';
        break;
    case 'fr':
    default:
        $fichier = 'fr';
        break;
}
/* Inclusion du fichier de langue */
$fichierlangue = './lang/'. $fichier .'-lang.php';

include_once($fichierlangue);

/* Enregistrement dun cookie pour conserver la langue choisie */
//définition de la durée du cookie (1 an)
$expire = 365*24*3600;
//enregistrement du cookie au nom de lang
setcookie("lang", $lang, time() + $expire);
?>
<html>
<body>
<table width="100" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td><div align="center"><a href="?lang=fr"><img src="./images/Drapeau/fr.gif" width="21" height="13" border="0"></a></div></td>
    <td><div align="center"><a href="?lang=en"><img src="./images/Drapeau/eng.gif" width="21" height="13" border="0"></a></div></td>
    <td><div align="center"><a href="?lang=es"><img src="./images/Drapeau/esp.gif" width="21" height="13" border="0"></a></div></td>
  </tr>
</table>
<?php echo TXT_ACCUEIL_INDEX; ?>
<br>
Meteo du jour : <?php echo TXT_METEO; ?>
<br>
Conseil du jour : <?php echo TXT_CONSEIL_INDEX; ?>
</body>
</html>

par jfaucon » 12 nov. 2007, 16:38

fichier fr-lang.php

Code : Tout sélectionner

<?php //--------------------------------------------------------- // index.php //--------------------------------------------------------- define('TXT_ACCUEIL_INDEX', 'Bienvenue sur PHP Débutant !'); define('TXT_METEO', 'Il fait un soleil radieux !'); define('TXT_CONSEIL_INDEX', 'Faites du PHP !'); //--------------------------------------------------------- // page1.php //--------------------------------------------------------- define('TXT_ACCUEIL_PAGE1', 'Bienvenue sur la page 1 du site PHP Débutant !'); define('TXT_CONSEIL_PAGE2', 'Installez Linux !'); //--------------------------------------------------------- // Fin //--------------------------------------------------------- ?>
fichier en-lang.php

Code : Tout sélectionner

<?php //--------------------------------------------------------- // index.php //--------------------------------------------------------- define('TXT_ACCUEIL_INDEX', 'Welcome on PHP Débutant !'); define('TXT_METEO', 'The sun is shining !'); define('TXT_CONSEIL_INDEX', 'Lets do some PHP !'); //--------------------------------------------------------- // page1.php //--------------------------------------------------------- define('TXT_ACCUEIL_PAGE1', 'Welcome on PHP Débutants first page !'); define('TXT_CONSEIL_PAGE2', 'Install Linux !'); //--------------------------------------------------------- // Fin //--------------------------------------------------------- ?>
fichier esp-lang.php

Code : Tout sélectionner

<?php //--------------------------------------------------------- // index.php //--------------------------------------------------------- define('TXT_ACCUEIL_INDEX', 'toto'); define('TXT_METEO', 'toto'); define('TXT_CONSEIL_INDEX', 'toto'); //--------------------------------------------------------- // page1.php //--------------------------------------------------------- define('TXT_ACCUEIL_PAGE1', 'toto'); define('TXT_CONSEIL_PAGE2', 'toto'); //--------------------------------------------------------- // Fin //--------------------------------------------------------- ?>
j'ai apparement bien defini mais constantes.

par Cyrano » 12 nov. 2007, 16:30

Pour le message d'erreur sur le header, il suffit de retirer l'affichage de débogage.

Ensuite, inspecte tes fichiers de langue afin de vérifier que tu y a bien défini les constantes manquantes.

par jfaucon » 12 nov. 2007, 16:27

c'est presque bon

Langue trouvée : esp
Fichier à inclure : lang/fr-lang.php


Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\multilangues\lang\decide-lang.php:5) in c:\program files\easyphp1-8\www\multilangues\lang\decide-lang.php on line 30


Notice: Use of undefined constant TXT_ACCUEIL_INDEX - assumed 'TXT_ACCUEIL_INDEX' in c:\program files\easyphp1-8\www\multilangues\index.php on line 11
TXT_ACCUEIL_INDEX
Meteo du jour :
Notice: Use of undefined constant TXT_METEO - assumed 'TXT_METEO' in c:\program files\easyphp1-8\www\multilangues\index.php on line 13
TXT_METEO
Conseil du jour :
Notice: Use of undefined constant TXT_CONSEIL_INDEX - assumed 'TXT_CONSEIL_INDEX' in c:\program files\easyphp1-8\www\multilangues\index.php on line 15
TXT_CONSEIL_INDEX


langue trouvée et Fichier à inclure : lang/fr-lang.php change bien quand je clique sur les drapeaux.

mais j'ai encore les message d'erreur ci dessus.