Php session : Undefined array key
RésoluBonjour,
J'ai déjà utilisé ce type de code plusieurs fois, je ne parviens pas à comprendre pourquoi cette fois j'ai :
Warning: Undefined array key "Lat" in ... on line 10
Warning: Undefined array key "Lon" in ... on line 11
Merci d'avance pour votre aide
session_start();
$LatAca="50.516940637404986";
$LonAca="3.921346839712161";
if (isset($_SESSION['Lat']))
{
$latitude=$_POST['Lat']; ⇐ 10
$longitude=$_POST['Lon']; ⇐ 11
}
else
{
$latitude=$LatAca;
$longitude=$LonAca;
}
$_SESSION['Lat'] = $latitude;
$_SESSION['Lon'] = $longitude;
2 réponses
-
Modérateur
bonjour
applique ceci
https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index
-
Modérateur
Bonjour,
Pour tester l'existence de $_SESSION['Lat'] et récupérer $_POST['Lat'] ?
-
Le script s'appelle lui-même.
Lors du premier appel $_SESSION['Lat'] n'est pas défini, je prends donc les valeurs par défaut.
Lors des appels suivants $_SESSION['Lat'] est défini donc je prends $_POST['Lat'].Voici la form
<?php echo "<center><form action=".basename(__FILE__)." method='post'>"; echo "<br> Latitude <input type='text' size='15' name='Lat' value=".$latitude."> Longitude <input type='text' size='15' name='Lon' value=".$longitude.">"; ?> <br> <input type='submit' value='Valider' /> </form>
-
Contributeur@Herve_be
Je pense qu'il est possible que $_SESSION['Lat'] soit défini et que $_POST['Lat'] ne soit pas défini.
Il me semble utile de tester si chacun des $_POST est défini avant de les utiliser.
-
-
Contributeur@Herve_be
Si le script s'appelle lui-même, il est d'autant plus important de vérifier si il est appelé à partir du formulaire, ou pas.
-
@yg_be
Sauf la première fois, il ne peut être appelé qu'à partir du formulaire via
<form action=".basename(__FILE__)." method='post'>
c'est la raison des isset : pour savoir si c'est la première fois.
-