Undefined array key

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 : Undefined array key

Re: Undefined array key

par Antoine13 » 23 oct. 2022, 19:03

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.

Re: Undefined array key

par Spols » 22 oct. 2022, 18:50

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

par Antoine13 » 22 oct. 2022, 17:40

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

Code : Tout sélectionner

$nom=(!empty($_POST["nom"])) ? $_POST["nom"] : Null;
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

par ynx » 21 oct. 2022, 17:08

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

par Antoine13 » 21 oct. 2022, 16:14

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

par or 1 » 21 oct. 2022, 13:09

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.

Undefined array key

par Antoine13 » 21 oct. 2022, 10:12

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

Code : Tout sélectionner

Warning: Undefined array key "controle"
la ligne est

Code : Tout sélectionner

$controle = stripslashes($_POST['controle']);
Bien sûr toutes les lignes de ce type émettent un Warning

Merci pour votre aide