pseudo unfined
Le problème exposé dans ce sujet a été résolu.
Bonjour à tous,
Est ce que quelqu'un pourrait me dire pourquoi lorsque je me connecte il me dit
"Notice: Undefined index: pseudo in D:\Intr\bdu.php on line 67"
Sachant que la ligne 67 est celle que j'ai mise en gras !
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 <?php
include ( 'header.php' );
if ( isset ( $_POST [ 'pseudobdu' ]) && isset ( $_POST [ 'mdpbdu' ]))
{
include ( 'sql.php' );
$pseudobdu = $_POST [ 'pseudobdu' ];
$mdpbdu = $_POST [ 'mdpbdu' ];
$sql = "SELECT * FROM bdu where pseudobdu =' $pseudobdu '" ;
$req = mysql_query ( $sql ) or die ( 'Erreur SQL !<br />' . $sql . '<br />' . mysql_error ());
$num_rows = mysql_num_rows ( $req );
$data = mysql_fetch_array ( $req );
mysql_close ();
if ( $mdpbdu == $data [ 'mdpbdu' ])
{
session_start ();
$_SESSION [ 'pseudobdu' ] = $pseudobdu ;
$_SESSION [ 'mdpbdu' ] = $mdpbdu ;
$_SESSION [ 'groupebdu' ] = $data [ 'groupebdu' ];
if ( $_SESSION [ 'groupebdu' ] == "tout" )
{
echo "coucou" ;
Merci à vous
(J'ai édité ton code pour surligner la ligne en question, le gras n'est pas interprété dans un bloc de code.)
Ca ne peut pas être la clé pseudo qui est indéfinie, il y en a pas dans ce que tu nous montres.
Et vu que $_SESSION['groupebdu']
est affecté inconditionnellement juste avant, logiquement, la ligne que tu nous pointes, ne peut pas lever une telle erreur.
Autre remarques :
tu as une injection SQL
pourquoi continuer à employer une extension [mysql] que tu sais prendre, à juste titre, le chemin de la sortie ?
Oui c'est ce que je m'etais dit… Alors pourquoi ils mettent ca? D'ou vient l'erreur stp?
Merci pour ta remarque
Salut !
Je serais toi, je regarderais si tu n'as pas encore un endroit où tu utilises $unTableau['pseudo']
dans ton code. Apparemment, tu l'as remplacé par pseudobdu
, je me demande si ce n'est pas juste un oubli de ce genre.
Que veux-tu que j'en sache ? Le code est incomplet et l'erreur ne correspond pas à l'extrait de code que tu nous donnes.
Ca a été mis en cache ? Tu ne regardes pas le bon fichier ? etc
Merci Ymox de ta rep, je n'ai pas tout compris peux tu me reeexpliquer stp?
Tien Vibrice le code complet c'est mieux c'est sur
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170 <!DOCTYPE
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta charset="UTF-8" />
<link rel="stylesheet" href="admin.css" />
<!--[if (lt IE 6)|(IE 8)]> <link type="text/css" rel="stylesheet" href="menu.css" /> <![endif]-->
<!--[if !IE]><!--> <link type="text/css" rel="stylesheet" href="admin.css" /><!--<![endif]-->
<title>Page administration</title>
<script language ="Javascript">
function verif(formulaire) {
if ( formulaire.pseudo.value != "" && formulaire.mdp.value !="")
{
return true;
}
else
{
alert("Tous les champs sont obligatoires");
return false;
}
}
</script>
</head>
<?php
include ( 'header.php' );
if ( isset ( $_POST [ 'pseudobdu' ]) && isset ( $_POST [ 'mdpbdu' ]))
{
include ( 'sql.php' );
$pseudobdu = $_POST [ 'pseudobdu' ];
$mdpbdu = $_POST [ 'mdpbdu' ];
$sql = "SELECT * FROM bdu where pseudobdu =' $pseudobdu '" ;
$req = mysql_query ( $sql ) or die ( 'Erreur SQL !<br />' . $sql . '<br />' . mysql_error ());
$num_rows = mysql_num_rows ( $req );
$data = mysql_fetch_array ( $req );
mysql_close ();
if ( $mdpbdu == $data [ 'mdpbdu' ])
{
session_start ();
$_SESSION [ 'pseudobdu' ] = $pseudobdu ;
$_SESSION [ 'mdpbdu' ] = $mdpbdu ;
$_SESSION [ 'groupebdu' ] = $data [ 'groupebdu' ];
if ( $_SESSION [ 'groupebdu' ] == "tout" )
{
echo "
<center><main><h1> Bonjour " , $_SESSION [ 'pseudobdu' ], ", Bienvenue sur la page d'administration de la BDU ! </h1><br><br>
<img div id='iconepage' src='images/iconepage.png' />
<ul>
<li><a href='ajouterrubrique.php'>Ajouter une page</a>
<li><a href='gestionpages.php'>Modifier ou supprimer une page</a>
</ul>
<br><br>
<img div id='iconemdp' src='images/iconemdp.png' />
<ul>
<li><a href='mdpbpumodifier.php'>Modifier mon mot de passe</a>
</ul>
<br><br>
<img div id='iconebdu' src='images/iconebdu.png' />
<ul>
<li><a href='ajouterutilisateurbdu.php'>Ajouter un utilisateur BDU</a>
<li><a href='gestionmarchepublic.php'>Modifier ou supprimer un marché public</a>
</ul>
<br><br>
</main>
" ;
}
if ( $_SESSION [ 'groupebdu' ] == "syndicat" )
{
echo "
<center> <main><h1> Bienvenue sur la page BDU! </h1><br>
</main>
" ;
}
if ( $_SESSION [ 'groupebdu' ] == "CE" )
{
echo "<main><h1> Bienvenue sur la page BDU ! </h1><br>
" ;
}
}
else
{
echo "<p font-color='red'>Erreur d'identification !</p>
<form action='bdu.php' method='POST' onSubmit='return verif(this)'>
<p>
<input type='pseudo' name='pseudobdu' />
<input type='password' name='mdpbdu' />
<input type='submit' value='Valider' />
</p>
</form>" ;
}
}
else
{
echo " <main>
<p>Pour accéder à la page d'administration du site veuillez insérer votre pseudo et votre mot de passe:</p>
<form action='bdu.php' method='POST' onSubmit='return verif(this)'>
<p>
<label for='pseudobdu'>Pseudo</label>:<input id='pseudobdu' type='text' name='pseudobdu' /><br><br>
<label for='mdpbdu'>Mot de passe</label>:<input type='password' name='mdpbdu' /><br><br>
<input type='submit' value='Valider' id='go login'/>
</p>
</main>
</form>" ;
}
?>
</div>
</body>
</html>
Le souci ne se trouverait-il pas dans le header, où tu tentes d'afficher le pseudo si l'utilisateur est connecté ?
Si jamais, pour colorer du PHP avec du HTML, il faut spécifier comme langage html+php
(dans cet ordre et pas l'inverse qui fait qu'aucune coloration n'est appliquée), comme dans la version que je propose ci-dessous
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170 <!DOCTYPE
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv= "Content-Type" content= "text/html; charset=UTF-8" />
<meta charset= "UTF-8" />
<link rel= "stylesheet" href= "admin.css" />
<!--[if (lt IE 6)|(IE 8)]> <link type="text/css" rel="stylesheet" href="menu.css" /> <![endif]-->
<!--[if !IE]><!--> <link type= "text/css" rel= "stylesheet" href= "admin.css" /> <!--<![endif]-->
<title> Page administration</title>
<script language = "Javascript" >
function verif ( formulaire ) {
if ( formulaire . pseudo . value != "" && formulaire . mdp . value != "" )
{
return true ;
}
else
{
alert ( "Tous les champs sont obligatoires" );
return false ;
}
}
</script>
</head>
<?php
include ( 'header.php' );
if ( isset ( $_POST [ 'pseudobdu' ]) && isset ( $_POST [ 'mdpbdu' ]))
{
include ( 'sql.php' );
$pseudobdu = $_POST [ 'pseudobdu' ];
$mdpbdu = $_POST [ 'mdpbdu' ];
$sql = "SELECT * FROM bdu where pseudobdu =' $pseudobdu '" ;
$req = mysql_query ( $sql ) or die ( 'Erreur SQL !<br />' . $sql . '<br />' . mysql_error ());
$num_rows = mysql_num_rows ( $req );
$data = mysql_fetch_array ( $req );
mysql_close ();
if ( $mdpbdu == $data [ 'mdpbdu' ])
{
session_start ();
$_SESSION [ 'pseudobdu' ] = $pseudobdu ;
$_SESSION [ 'mdpbdu' ] = $mdpbdu ;
$_SESSION [ 'groupebdu' ] = $data [ 'groupebdu' ];
if ( $_SESSION [ 'groupebdu' ] == "tout" )
{
echo "
<center><main><h1> Bonjour " , $_SESSION [ 'pseudobdu' ], ", Bienvenue sur la page d'administration de la BDU ! </h1><br><br>
<img div id='iconepage' src='images/iconepage.png' />
<ul>
<li><a href='ajouterrubrique.php'>Ajouter une page</a>
<li><a href='gestionpages.php'>Modifier ou supprimer une page</a>
</ul>
<br><br>
<img div id='iconemdp' src='images/iconemdp.png' />
<ul>
<li><a href='mdpbpumodifier.php'>Modifier mon mot de passe</a>
</ul>
<br><br>
<img div id='iconebdu' src='images/iconebdu.png' />
<ul>
<li><a href='ajouterutilisateurbdu.php'>Ajouter un utilisateur BDU</a>
<li><a href='gestionmarchepublic.php'>Modifier ou supprimer un marché public</a>
</ul>
<br><br>
</main>
" ;
}
if ( $_SESSION [ 'groupebdu' ] == "syndicat" )
{
echo "
<center> <main><h1> Bienvenue sur la page BDU! </h1><br>
</main>
" ;
}
if ( $_SESSION [ 'groupebdu' ] == "CE" )
{
echo "<main><h1> Bienvenue sur la page BDU ! </h1><br>
" ;
}
}
else
{
echo "<p font-color='red'>Erreur d'identification !</p>
<form action='bdu.php' method='POST' onSubmit='return verif(this)'>
<p>
<input type='pseudo' name='pseudobdu' />
<input type='password' name='mdpbdu' />
<input type='submit' value='Valider' />
</p>
</form>" ;
}
}
else
{
echo " <main>
<p>Pour accéder à la page d'administration du site veuillez insérer votre pseudo et votre mot de passe:</p>
<form action='bdu.php' method='POST' onSubmit='return verif(this)'>
<p>
<label for='pseudobdu'>Pseudo</label>:<input id='pseudobdu' type='text' name='pseudobdu' /><br><br>
<label for='mdpbdu'>Mot de passe</label>:<input type='password' name='mdpbdu' /><br><br>
<input type='submit' value='Valider' id='go login'/>
</p>
</main>
</form>" ;
}
?>
</div>
</body>
</html>
Le header est un fichier à part avec le haut de page donc je ne pense pas : (
mais peut etre de la ligne ne dessous je pense oui mais je ne coprends pas ce que j'y ai mal fait
Montre-nous le code de ce header, s'il te plaît. On va y chercher un endroit où il y aurait le petit bout de code ['pseudo']
qui y traine, parce que très clairement le souci ne vient pas du code que tu nous as fourni.
Es-tu aussi certain de regarder la bonne version du code, pas une vieille ou une autre qui n'est pas au bon endroit ?
Je me suis rendu compte que le header ne servait a rien du coup je l'ai supprime voici mon code à jour. trop bizarre !
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165 <!DOCTYPE
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta charset="UTF-8" />
<link rel="stylesheet" href="Index.css" />
<title>Page administration</title>
<script language ="Javascript">
function verif(formulaire) {
if ( formulaire.pseudo.value != "" && formulaire.mdp.value !="")
{
return true;
}
else
{
alert("Tous les champs sont obligatoires");
return false;
}
}
</script>
</head>
<?php
if ( isset ( $_POST [ 'pseudobdu' ]) && isset ( $_POST [ 'mdpbdu' ]))
{
include ( 'sql.php' );
$pseudobdu = $_POST [ 'pseudobdu' ];
$mdpbdu = $_POST [ 'mdpbdu' ];
$sql = "SELECT * FROM bdu where pseudobdu =' $pseudobdu '" ;
$req = mysql_query ( $sql ) or die ( 'Erreur SQL !<br />' . $sql . '<br />' . mysql_error ());
$num_rows = mysql_num_rows ( $req );
$data = mysql_fetch_array ( $req );
mysql_close ();
if ( $mdpbdu == $data [ 'mdpbdu' ])
{
session_start ();
$_SESSION [ 'pseudobdu' ] = $pseudobdu ;
$_SESSION [ 'mdpbdu' ] = $mdpbdu ;
$_SESSION [ 'groupebdu' ] = $data [ 'groupebdu' ];
if ( $_SESSION [ 'groupebdu' ] == "tout" )
{
echo "
<center><main><h1> Bonjour " , $_SESSION [ 'pseudobdu' ], ", Bienvenue sur la page d'administration de la BDU ! </h1><br><br>
<img div id='iconepage' src='images/iconepage.png' />
<ul>
<li><a href='ajouterrubrique.php'>Ajouter une page</a>
<li><a href='gestionpages.php'>Modifier ou supprimer une page</a>
</ul>
<br><br>
<img div id='iconemdp' src='images/iconemdp.png' />
<ul>
<li><a href='mdpbpumodifier.php'>Modifier mon mot de passe</a>
</ul>
<br><br>
<img div id='iconebdu' src='images/iconebdu.png' />
<ul>
<li><a href='ajouterutilisateurbdu.php'>Ajouter un utilisateur BDU</a>
<li><a href='gestionmarchepublic.php'>Modifier ou supprimer un marché public</a>
</ul>
<br><br>
</main>
" ;
}
if ( $_SESSION [ 'groupebdu' ] == "syndicat" )
{
echo "
<center> <main><h1> Bienvenue sur la page BDU! </h1><br>
</main>
" ;
}
if ( $_SESSION [ 'groupebdu' ] == "CE" )
{
echo "<main><h1> Bienvenue sur la page BDU ! </h1><br>
" ;
}
}
else
{
echo "<p font-color='red'>Erreur d'identification !</p>
<form action='bdu.php' method='POST' onSubmit='return verif(this)'>
<p>
<input type='pseudo' name='pseudobdu' />
<input type='password' name='mdpbdu' />
<input type='submit' value='Valider' />
</p>
</form>" ;
}
}
else
{
echo " <main>
<p>Pour accéder à la page d'administration du site veuillez insérer votre pseudo et votre mot de passe:</p>
<form action='bdu.php' method='POST' onSubmit='return verif(this)'>
<p>
<label for='pseudobdu'>Pseudo</label>:<input id='pseudobdu' type='text' name='pseudobdu' /><br><br>
<label for='mdpbdu'>Mot de passe</label>:<input type='password' name='mdpbdu' /><br><br>
<input type='submit' value='Valider' id='go login'/>
</p>
</main>
</form>" ;
}
?>
</div>
</body>
Et l'erreur est toujours la même ?
Parce que je persiste à dire que cette erreur ne provient pas du code que tu nous montres.
En effet excuse-moi pour cette erreur
Voici donc le BON code et merci à toi
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120 <title>BDU</title>
<?php
include ( 'bpuindex.php' );
?>
<div id="centreaccueil">
<div id="contenu">
<h1>BDU</h1>
<script language ="Javascript">
function verif(formulaire) {
if ( formulaire.pseudo.value != "" && formulaire.mdp.value !="")
{
return true;
}
else
{
alert("Tous les champs sont obligatoires");
return false;
}
}
</script>
</head>
<?php
if ( isset ( $_POST [ 'pseudobdu' ]) && isset ( $_POST [ 'mdpbdu' ]))
{
include ( 'sql.php' );
$pseudo = $_POST [ 'pseudobdu' ];
$mdp = $_POST [ 'mdpbdu' ];
$sql = "SELECT * FROM bdu where pseudobdu =' $pseudo '" ;
$req = mysql_query ( $sql ) or die ( 'Erreur SQL !<br />' . $sql . '<br />' . mysql_error ());
$num_rows = mysql_num_rows ( $req );
$data = mysql_fetch_array ( $req );
mysql_close ();
if ( $mdp == $data [ 'mdpbdu' ])
{
session_start ();
$_SESSION [ 'pseudobdu' ] = $pseudo ;
$_SESSION [ 'mdpbdu' ] = $mdp ;
echo "
<main><h1> Bonjour " , $_SESSION [ 'pseudo' ], ", Bienvenue sur la page BDU DMS ! </h1><br><br>
</main>
" ;
}
else
{
echo "<p font-color='red'>Erreur d'identification !</p>
<form action='bdu.php' method='POST' onSubmit='return verif(this)'>
<p>
<input type='pseudo' name='pseudobdu' />
<input type='password' name='mdpbdu' />
<input type='submit' value='Valider' />
</p>
</form>" ;
}
}
else
{
echo "
<main>
<p>Pour accéder à la page d'administration du site veuillez insérer votre pseudo et votre mot de passe:</p>
<form action='bdu.php' method='POST' onSubmit='return verif(this)'>
<p>
<label for='pseudobdu'>Pseudo</label>:<input id='pseudobdu' type='text' name='pseudobdu' /><br><br>
<label for='mdpbdu'>Mot de passe</label>:<input type='password' name='mdpbdu' /><br><br>
<input type='submit' value='Valider' id='go login'/>
</p>
</main>
</form>" ;
}
?>
</div>
</body>
</html>
Ben voilà.
Ligne 66, comme l'erreur te le mentionne, tu utilises $_SESSION['pseudo']
alors que comme je le pensais tu devrais utiliser $_SESSION['pseudobdu']
.
On t'a bien mâché le travail, sur ce coup
Hum claire! désolée… C'est que je cherchais sur la mauvaise page !merci ; )
De rien
Rien à voir avec le problème lui-même, mais voir à la suite un <center> (déprécié depuis 12 ans), <main> (dans html5, ajout relativement récent), ben ça fait mal au cœur.
Ben voilà.
Ligne 66, comme l'erreur te le mentionne, tu utilises $_SESSION['pseudo']
alors que comme je le pensais tu devrais utiliser $_SESSION['pseudobdu']
.
On t'a bien mâché le travail, sur ce coup
Ymox
Voilà typiquement le genre d'erreurs qui n'arriverait pas dans un langage un peu moins laxiste que PHP.
puffy-freshy
Les variables non définies (et plus encore précisément quand on est dans le cas d'index de tableaux), c'est dans quel langage que c'est détecté avant l'exécution, s'il te plaît ?
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte