Conseil Deprecated: trim(): Passing null

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 : Conseil Deprecated: trim(): Passing null

Re: [RESOLU] Conseil Deprecated: trim(): Passing null

par Antoine13 » 19 mars 2023, 22:18

C'est parfait .

Merci

Re: Conseil Deprecated: trim(): Passing null

par two3d » 14 mars 2023, 10:22

Re: Conseil Deprecated: trim(): Passing null

par or 1 » 14 mars 2023, 09:48

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

par Antoine13 » 14 mars 2023, 09:39

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

par two3d » 05 mars 2023, 01:39

PHP >= 7 :
$code = $_POST['code'] ?? '';

Re: Conseil Deprecated: trim(): Passing null

par or 1 » 04 mars 2023, 20:56

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

par Antoine13 » 04 mars 2023, 17:50

Je pense avoir corrigé
j'ai changé cela

Code : Tout sélectionner

$code =(!empty($_POST['code']))? $_POST['code'] : Null;
En cela

Code : Tout sélectionner

en $code =(!empty($_POST['code']))? $_POST['code'] : '';

Et il n'y a plus d'erreur.

Suis-je dans le vrai

Re: Conseil Deprecated: trim(): Passing null

par Antoine13 » 04 mars 2023, 17:29

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

par @rthur » 04 mars 2023, 17:21

Du coup c'est bien que ta variable n'est pas initialisée.

Re: Conseil Deprecated: trim(): Passing null

par Antoine13 » 04 mars 2023, 17:13

Il répond: NULL

Re: Conseil Deprecated: trim(): Passing null

par @rthur » 04 mars 2023, 17:05

Si tu fais un var_dump($code) juste avant d'utiliser trim(), il te répond quoi ?

Re: Conseil Deprecated: trim(): Passing null

par Antoine13 » 04 mars 2023, 16:58

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

Code : Tout sélectionner

$code="";

Re: Conseil Deprecated: trim(): Passing null

par @rthur » 04 mars 2023, 16:45

Probablement, aucune des deux. :-D

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.

Conseil Deprecated: trim(): Passing null

par Antoine13 » 04 mars 2023, 16:09

Bonjour

Sur

Code : Tout sélectionner

$code=trim($code);
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

Code : Tout sélectionner

$code=trim((string)$code); $code=trim($code ?? '');
Egalement pour

Code : Tout sélectionner

$expediteur=htmlspecialchars(expediteur);
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