Page 1 sur 1
Undefined array key
Posté : 21 oct. 2022, 10:12
par Antoine13
Bonjour,
Surement la question à dû être traitée mais ne trouve pas la réponse
Je suis en train de passer de PHP 7.3 à 8
Et sous PHP 8, j’ai l’erreur
la ligne est
Bien sûr toutes les lignes de ce type émettent un Warning
Merci pour votre aide
Re: Undefined array key
Posté : 21 oct. 2022, 13:09
par or 1
ce n'est pas dû au passage à php 8 mais au fait que $_POST ne contient pas d'index controle, surement car la page n'est pas appelée en méthode post depuis un formulaire avec un champ controle. donc le warning devait déjà exister avant mais ne s'affichait pas.
Re: Undefined array key
Posté : 21 oct. 2022, 16:14
par Antoine13
Bonjour Or 1
Merci pour votre réponse , cette page est en fonction (sousPHP 7.3) sur le site et suis en mode développement sur la config d’OVH et j’ai pas d’erreur.
dans cette page il y un formulaire et la gestion du formulaire
Code : Tout sélectionner
<form enctype="multipart/form-data" name="Form" action="" method="post" onsubmit="return validation(this)">
Question, que dois-je faire afin de ne plus avoir ces erreur je ne vois pas que faire.
Merci pour vos réponse
Re: Undefined array key
Posté : 21 oct. 2022, 17:08
par ynx
Bonjour,
Le fait d'utiliser un élément de tableau qui n'existe pas déclenche une "Notice" avec PHP 7.3.
Avec PHP 8, ceci déclenche désormais un "Warning".
La rapport d'erreur (error_reporting) de ton serveur OVH doit être configuré pour afficher uniquement les "Fatal Error" et les "Warning", l'affichage des "Notice" doit être désactivé.
Dans tous les cas, utiliser un élément de tableau qui n'existe pas est une erreur (même si l'erreur n'est pas bloquante pour PHP).
Tu peux vérifier que l'élément existe avant de l'utiliser avec la fonction isset.
Re: Undefined array key
Posté : 22 oct. 2022, 17:40
par Antoine13
Bonjour ynx,
Merci pour votre explication.
J’ai vérifié avec isset et lors du retour du formulaire pour cause d’erreur les champs étaient remplacés par un 1 !!.
Impossible de comprendre par contre cela marche parfaitement avec
j’ai un autre problème que je n’arrive pas résoudre toujours avec la même erreur
Code : Tout sélectionner
Warning: Undefined array key 2
Warning: Undefined array key 1
sur la ligne 335
Code : Tout sélectionner
334 $tab=explode("-",$date);
335 $date=array("$tab[2]","$tab[1]","$tab[0]");
336 $date=implode("/",$date);
337 return $date;
Merci pour votre aide.
Re: Undefined array key
Posté : 22 oct. 2022, 18:50
par Spols
vérifie le format de date donnée, à mon avis tu lui donne un jj/mm/aaaa plutot qu'un aaaa-mm-jj
Re: Undefined array key
Posté : 23 oct. 2022, 19:03
par Antoine13
Bonjour Spols
Dans le mille!! merci
Je ne comprenais pas pourquoi il n'y avait pas d'erreur!
Car la fonction n'est appelé que si l'on fait une erreur de date.
Bref, j'ai contourné le problème comme ci-dessous:
Code : Tout sélectionner
function formatDate($date)
{
$date = str_replace("-","/", $date);
$date = str_replace(":","/", $date);
$tab=explode("/",$date);
$date=array($tab[2],$tab[1],$tab[0]);
//$date=array("$tab[2]","$tab[1]","$tab[0]");
$date=implode("/",$date);
return $date;
}
Et cela répond à tous les cas.
Je laisse ouvert le post sait t'on jamais.