Page 1 sur 1

Message depuis passage à php 7

Posté : 19 juin 2020, 09:53
par Leica1935
Bonjour, sur mon site, j'héberge un forum phpBB et je me sers de l'inscription à celui-ci pour autoriser certains utilisateurs de mon site à remplir des formulaires de saisie. J'ai passé le serveur de mon site de php 5.x à php 7 et depuis, j'ai un message qui apparait lorsque l'utilisateur n'est pas inscrit au forum.

Voici le message :

[phpBB Debug] PHP Warning: in file /home/collecti/www/gestion/html/proposer_lien.php on line 10: Use of undefined constant Anonymous - assumed 'Anonymous' (this will throw an Error in a future version of PHP)


et le code :

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './../../phpBB3/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup();
$request->enable_super_globals();
if($user->data['username'] == Anonymous)
{
echo('Vous devez &ecirc;tre inscrit et connect&eacute; au forum pour ajouter un lien');
echo'<br/><br/><a href="http://www.yyyyy.fr/phpBB3/ucp.php?mode ... xxxxxx">Me connecter ou m\'enregistrer au forum</a>';
}
else
{
?>


ce code est en début du fichier php affichant (ou pas) le formulaire.

Je poste dans php débutant, car même si j'utilise php depuis longtemps, mon niveau est basique.

Merci de votre aide.

Re: Message depuis passage à php 7

Posté : 19 juin 2020, 11:35
par Saian
Salut, la constante Anonymous n'est pas définie. Normalement tu devrais avoir quelque part un define('Anonymous', valeur) ce qui semble ne pas être le cas.

Re: Message depuis passage à php 7

Posté : 19 juin 2020, 11:37
par Spols
php t'indique que tu utilise une constante qui n'éxiste pas et que tu appelle Anonymous

et à la ligne 10 f($user->data['username'] == Anonymous)
ne devrais tu pas écrire f($user->data['username'] == 'Anonymous')
???

Re: Message depuis passage à php 7

Posté : 19 juin 2020, 11:50
par Saian
J'ai jeté un oeil sur le repo git et dans la dernière version sur git la constante ANONYMOUS (tout en majuscules) est définie dans plusieurs fichiers comme ceci :
define('ANONYMOUS', 1);
J'ai bien l'impression aussi de ce que j'ai pu voir vite fait qu'il y a une sorte de user Anonymous dont le username serait bien Anonymous et dont le user_id serait égale à 1 (la valeur de la constante ANONYMOUS).
Donc dans ton code, il faudrait à priori faire comme Spols le suggère et comparer le username à la chaine Anonymous et non à une constante Anonymous inexistante.
Pour le moment ton code doit fonctionner car la constante inexistante est alors considérée comme une chaine de caractère mais il est bien précisé que dans une futur version de php cela lèvera une erreur, sous entendu bloquante à mon sens.

Re: Message depuis passage à php 7

Posté : 19 juin 2020, 12:05
par Leica1935
Bonjour à tous et surtout merci

en suivant ce que dit spols, c'est impeccable.

voilà un souci de résolu.

Bonne journée