IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Le fameux "Undefined index"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Par défaut Le fameux "Undefined index"
    Bonjour à tous !

    Je suis en train de réaliser une sorte de formulaire d'option pour l'affichage de mon graphique. C'est à dire que l'utilisateur pourra rentrer 2 valeurs de date pour afficher les températures sur cette intervalle de temps.
    Pour rentrer les informations concernant les dates, je me suis servi du fameux calendrier de "le_chomeur" visible ici: http://www.developpez.net/forums/d82...drier-v3-beta/

    Voici sans le css le code de "calendar.php" qui me sers de zone d'insertion dans mon formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    </head> 
    	<body> 
     
    		<input type="text" class="mCalendarFR" name="date_debut"> 
    		au
    		<input type="text" class="mCalendarFR" name="date_fin"> 
     
    		<script type="text/javascript" src="mCalandar.js"></script> 
    	</body>

    Ensuite voici le code de la page qui appele le calendrier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <!-- DEBUT du formulaire d'options pour le graphique -->
    			<form action="suivi_mur_trombe.php" method="post">
     
    				<p>
    				Température du :
     
    				<!-- Incorporation du calendrier -->
    				<?php include ("calendar.php");
     
    // Si date_debut n'éxiste pas, elle est égale à la date du jour au format dd/mm/aaaa
    				if ( ! isset($date_debut)) {
    					$date = date("d-m-Y");
    					$date_explosee = explode("-", $date);
     
    					$jour = $date_explosee[0];
    					$mois = $date_explosee[1];
    					$annee = $date_explosee[2];
     
    				$date_debut = $jour .'/'. $mois .'/'. $annee;
     
     
                        }
     
    //Affichage de la varible $date_debut pour tester
    				echo $date_debut;
     
    //Recuperation de la valeur de la date rentrée par l'utilisateur
    				$debut = $_POST['date_debut'];
     
    				echo $debut;
     
    				// Fonction permettant de convertir le format dd/mm/YYYY en dd-mm-YYYY 00:00:00
    				function DateToDateTime($date)
    				{
    				$date_explosee = explode("/", $date);
     
    				$jour = $date_explosee[0];
    				$mois = $date_explosee[1];
    				$annee = $date_explosee[2];
     
    				$date_time = $jour .'-'. $mois .'-'. $annee .' '. '00:00:00';
    				return $date_time;
    				}
     
     
    				echo DateToDateTime($debut);
     
     
    				?>
     
    				<input type="submit" value="Valider" />
     
    				</p>
    			</form>
    Comme le nom de ma discussion l'indique j'obtient le message d'erreur suivant:
    -Undefined index: date_debut in C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe\suivi_mur_trombe.php on line 146

    la ligne qui pose problème est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $debut = $_POST['date_debut'];
    Il y a aussi 2 autres messages d'erreur:
    - Undefined offset: 1 in C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe\suivi_mur_trombe.php on line 156
    -Undefined offset: 2 in C:\wamp\www\test\Transition_Bat16\suivi_mur_trombe\suivi_mur_trombe.php on line 157

    Mais ces 2 messages là sont normaux vu que d'apres le premier message ma variable "date_debut" n'existe pas, donc il n'y a pas de "/" pour la fonction "explode"

    Je ne comprend pas d'où vient le problème car sur ma page web, le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    //Affichage de la varible $date_debut pour tester
    				echo $date_debut;
    affiche bien ma variable "date_debut" qui à été initialisée vu qu'elle n'a pas encore été rentrée par l'utilisateur.

    Je pense que le problème peut venir du fait que j'incorpore la page "calendar.php" dans mon autre page...

    J'espère avoir été le plus clair possible.

    Merci de votre aide !

  2. #2
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $debut = $_POST['date_debut'];
    ça c'est typique, $_POST est un tableau de valeurs soumises par formulaire, qu'est-ce qui oblige l'utilisateur à renvoyer ces valeurs? rien. ton code doit donc tester le remplissage des entrées utilisateurs ($_GET, $_POST, $_COOCKIES, $_FILES, $_REQUEST ... )

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Par défaut
    Merci pour ta réponse !

    Cependant... Je ne comprend pas vraiment ce que je dois faire... J'ai commencé le php il y a à peine 3 semaines et je t'avoue que certaines choses m'échappent surement !
    Je pensais que je testais déjà les entrées utilisateurs en faisant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    if ( ! isset($date_debut)) {
    					$date = date("d-m-Y");
    					$date_explosee = explode("-", $date);
     
    					$jour = $date_explosee[0];
    					$mois = $date_explosee[1];
    					$annee = $date_explosee[2];
     
    				$date_debut = $jour .'/'. $mois .'/'. $annee;
     
     
                        }
    Ce n'est donc pas ça...

    Pourrait-on me dire le code que je dois mettre pour tester le remplissage des entrées utilisateurs ?

    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    voici un bon tutoriel a lire pour démarrer : PHP : Le tutoriel pour grands débutants pressés
    -> Les formulaires

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2011
    Messages : 30
    Par défaut
    Merci bien !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur de "Undefined index" sur HTTP_REFERER
    Par guy2004 dans le forum Langage
    Réponses: 4
    Dernier message: 12/10/2005, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo