Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/07/2011, 17h54   #1
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
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
Points : 15
Points : 15
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 :
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 :
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 :
$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 :
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 !
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2011, 19h59   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
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 : 951
Points : 1 063
Points : 1 063
bonjour

Code :
$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 ... )
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 13h58   #3
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
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
Points : 15
Points : 15
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 :
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
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2011, 16h25   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
voici un bon tutoriel a lire pour démarrer : PHP : Le tutoriel pour grands débutants pressés
-> Les formulaires
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 11h35   #5
Futur Membre du Club
 
Homme Vincent
Étudiant
Inscription : juillet 2011
Messages : 30
Détails du profil
Informations personnelles :
Nom : Homme Vincent
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
Points : 15
Points : 15
Merci bien !
Domotik35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h27.


 
 
 
 
Partenaires

Hébergement Web