[RESOLU] Message depuis passage à php 7

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 : [RESOLU] Message depuis passage à php 7

Re: Message depuis passage à php 7

par Leica1935 » 19 juin 2020, 12:05

Bonjour à tous et surtout merci

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

voilà un souci de résolu.

Bonne journée

Re: Message depuis passage à php 7

par Saian » 19 juin 2020, 11:50

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

par Spols » 19 juin 2020, 11:37

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

par Saian » 19 juin 2020, 11:35

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.

Message depuis passage à php 7

par Leica1935 » 19 juin 2020, 09:53

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.