Page 1 sur 1
Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 16:09
par Antoine13
Bonjour
Sur
J’ai une erreur :
Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in
J’ai 2 façons de corriger
Egalement pour
J’ai une erreur :
Deprecated: htmlspecialchars Passing null to parameter #1 ($string) of type string is deprecated in
Et également 2 façons de corriger
Code : Tout sélectionner
$envoi=htmlspecialchars((string)$envoi);
$envoi=htmlspecialchars($envoi ?? '');
Question : laquelle de ces 2 solutions ((s’il y a que ces 2) est à utiliser ? et pourquoi
Merci par avance pour vos réponses
Re: Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 16:45
par @rthur
Probablement, aucune des deux.
Tu ne devrais pas avoir de cas où tu essaies d'appliquer trim() ou htmlspecialchars() sur une variable qui n'a pas été précédemment initialisée.
Re: Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 16:58
par Antoine13
Merci pour votre réponse
C'est lors du passage de PHP 8.0 à 8.1 que cette erreur est apparue.
Les variables sont déclarées en amont, dans le cas présent
Re: Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 17:05
par @rthur
Si tu fais un var_dump($code) juste avant d'utiliser trim(), il te répond quoi ?
Re: Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 17:13
par Antoine13
Il répond: NULL
Re: Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 17:21
par @rthur
Du coup c'est bien que ta variable n'est pas initialisée.
Re: Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 17:29
par Antoine13
Code : Tout sélectionner
$code =(!empty($_POST['code']))? $_POST['code'] : Null;
$code=trim($code);
Que veut tu dire par initialisée
Re: Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 17:50
par Antoine13
Je pense avoir corrigé
j'ai changé cela
En cela
Et il n'y a plus d'erreur.
Suis-je dans le vrai
Re: Conseil Deprecated: trim(): Passing null
Posté : 04 mars 2023, 20:56
par or 1
il y a vraiment un cas où le formulaire n'est pas soumis en method post et qu'il faut quand même faire le traitement ?
Re: Conseil Deprecated: trim(): Passing null
Posté : 05 mars 2023, 01:39
par two3d
PHP >= 7 :
$code = $_POST['code'] ?? '';
Re: Conseil Deprecated: trim(): Passing null
Posté : 14 mars 2023, 09:39
par Antoine13
Bonjour
Désolé pour ce retard dans la réponse.
Afin de mieux comprendre
Or1 vous dites
« il y a vraiment un cas où le formulaire n'est pas soumis en method post et qu'il faut quand même faire le traitement ? »
Cela veut dire que même si la variable n’est dans un poste je suis obligé de faire
$xxxx =(!empty($_POST['xxxx']))? $_POST['xxxx'] : ‘’;
Two 3d vous dites
PHP >= 7 :
$code = $_POST['code'] ?? '';
Vous voulez dire qu’il faut utiliser
$xxxx = $_POST['xxxx'] ?? '';
Et d’une manière générale>> ?? ‘’ lorsque cela est autorisé ?
Merci pour vos réponse
Re: Conseil Deprecated: trim(): Passing null
Posté : 14 mars 2023, 09:48
par or 1
Or1 vous dites
« il y a vraiment un cas où le formulaire n'est pas soumis en method post et qu'il faut quand même faire le traitement ? »
Cela veut dire que même si la variable n’est dans un poste je suis obligé de faire
$xxxx =(!empty($_POST['xxxx']))? $_POST['xxxx'] : ‘’;
ce qui ne répond pas à ma question un peu hors-sujet il est vrai.
Re: Conseil Deprecated: trim(): Passing null
Posté : 14 mars 2023, 10:22
par two3d
Re: [RESOLU] Conseil Deprecated: trim(): Passing null
Posté : 19 mars 2023, 22:18
par Antoine13
C'est parfait .
Merci