Undefined index: pagina in ....
Code (php)
1
2
3
2
3
Notice: Undefined index: pagina in C:\Websites\Localhost\telefoonlijst\inlog\index.php on line 29
Lijn 29 : switch ($_GET['pagina']) {
Lijn 29 : switch ($_GET['pagina']) {
Alle pagina's worden wel goed geopend, alleen deze pagina komt wanneer index.php wordt geopend. Hij vraagt dan automatisch home.php op, deze weergeeft de site wel. Alleen de foutmelding staat er dan bij.
Waar kan dit aan liggen? Kunt u mij helpen?
Code (php)
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
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
<?php
switch ($_GET['pagina']) {
case "home";
include "home.php";
break;
case "beheer";
include "login.php";
break;
case "ingelogged";
include "ingelogged.php";
break;
case "zoeken";
include "zoeken.php";
break;
case "registreren";
include "registreren.php";
break;
case "toevoegen";
include "toevoegen.php";
break;
case "";
include "home.php";
break;
}
?>
switch ($_GET['pagina']) {
case "home";
include "home.php";
break;
case "beheer";
include "login.php";
break;
case "ingelogged";
include "ingelogged.php";
break;
case "zoeken";
include "zoeken.php";
break;
case "registreren";
include "registreren.php";
break;
case "toevoegen";
include "toevoegen.php";
break;
case "";
include "home.php";
break;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door Rick
Hoe heb je de link ongeveer als je bv index.php?pagina=beheer
dan gaat hij pas naar de pagina beheer.. hij doet het nu nog niet goed omdat je de default bent vergeten gooi die eerste case home er uit en die laatste en maak daar van :
Code (php)
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
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
<?php
switch ($_GET['pagina']) {
case "beheer";
include "login.php";
break;
case "ingelogged";
include "ingelogged.php";
break;
case "zoeken";
include "zoeken.php";
break;
case "registreren";
include "registreren.php";
break;
case "toevoegen";
include "toevoegen.php";
break;
default:
include "index.php";
break;
}
?>
switch ($_GET['pagina']) {
case "beheer";
include "login.php";
break;
case "ingelogged";
include "ingelogged.php";
break;
case "zoeken";
include "zoeken.php";
break;
case "registreren";
include "registreren.php";
break;
case "toevoegen";
include "toevoegen.php";
break;
default:
include "index.php";
break;
}
?>
de link die je zeg maar naar je home pagina zet maak daar alleen index.php van omdat als het goed is ook je hoofd pagina word. nu laad hij zeg maar op de default pagina ( waar je die switch hebt staat ) dan laat hij index.php.
probeer het zo eens.. anders zou je als default ook wel home kunnen neer zetten. ik ga uit van een standaard situatie.
suc6
Gewijzigd op 01/01/1970 01:00:00 door Yoram
Code (php)
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
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
<?php //session_start(); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Telefoonlijsten - </title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="menu">
<ul>
<li><a href="index.php?pagina=home" title="home" name="home">Home</a></li>
<li><a href="index.php?pagina=beheer" title="home" name="home">beheer</a></li>
</ul>
</div>
<div id="splash">
<img src="images/img05.jpg" alt="" />
</div>
<hr />
<!--content-->
<div id="page">
<div id="content">
<?php
switch ($_GET['pagina']) {
case "home";
include "home.php";
break;
case "beheer";
include "login.php";
break;
case "ingelogged";
include "ingelogged.php";
break;
case "zoeken";
include "zoeken.php";
break;
case "registreren";
include "registreren.php";
break;
case "toevoegen";
include "toevoegen.php";
break;
default:
include "home.php";
break;
}
?>
</div>
<!-- einde content -->
<div id="sidebar">
</div>
<!-- end #sidebar -->
</div>
<!-- end #page -->
<div id="footer">
</div>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Telefoonlijsten - </title>
<meta name="keywords" content="" />
<meta name="description" content="" />
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="menu">
<ul>
<li><a href="index.php?pagina=home" title="home" name="home">Home</a></li>
<li><a href="index.php?pagina=beheer" title="home" name="home">beheer</a></li>
</ul>
</div>
<div id="splash">
<img src="images/img05.jpg" alt="" />
</div>
<hr />
<!--content-->
<div id="page">
<div id="content">
<?php
switch ($_GET['pagina']) {
case "home";
include "home.php";
break;
case "beheer";
include "login.php";
break;
case "ingelogged";
include "ingelogged.php";
break;
case "zoeken";
include "zoeken.php";
break;
case "registreren";
include "registreren.php";
break;
case "toevoegen";
include "toevoegen.php";
break;
default:
include "home.php";
break;
}
?>
</div>
<!-- einde content -->
<div id="sidebar">
</div>
<!-- end #sidebar -->
</div>
<!-- end #page -->
<div id="footer">
</div>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door rick
werkt hij al ?
tip maak van die id classes anders kom je eventueel later als je javascript er aan toevoegd in de war
edit: dat van yoram zorgt ervoor dat je een standaard pagina krijgt als er geen $_get["pagina"]; is
Suc6 ermee
Gewijzigd op 01/01/1970 01:00:00 door Jaron T
Zie 'menu' bovenin het script voor: <a href=index.php?pagina=home>Home</a>
De foutmelding nogmaals:
Code (php)
1
2
3
2
3
Notice: Undefined index: pagina in C:\Websites\Localhost\telefoonlijst\inlog\index.php on line 29
Lijn 29 : switch ($_GET['pagina']) {
Lijn 29 : switch ($_GET['pagina']) {
Hij geeft dus aan dat pagina niet bekend is in index, maar hoe los ik dit op?
Test met isset().
Code (php)
De 'index' heeft niks met index.php te maken, maar met de index van de array. De index is de sleutel zogezegd om de waarde op te halen, in jouw geval 'pagina', maar op het moment dat jij de switch gebruikt, bestaat 'pagina' nog niet in de array $_GET, omdat je 'pagina' niet in je URL hebt staan. Hierom moet je met isset werken.
Gewijzigd op 01/01/1970 01:00:00 door Willem Jan Z
bovenin mijn script geplakt en nu is de foutmelding wel weg, maar dit is alleen verstoppen van de foutmelding.
Er moet lijkt mij toch ook wel een oplossing zijn?
Wel kudo's voor jou dat je doorzoekt in plaats van alleen de melding verstopt!!
WillemJan Z schreef op 10.03.2009 09:10:
edit: Oops, te slecht FAQ antwoord daar.
Test met isset().
De 'index' heeft niks met index.php te maken, maar met de index van de array. De index is de sleutel zogezegd om de waarde op te halen, in jouw geval 'pagina', maar op het moment dat jij de switch gebruikt, bestaat 'pagina' nog niet in de array $_GET, omdat je 'pagina' niet in je URL hebt staan. Hierom moet je met isset werken.
Test met isset().
Code (php)
De 'index' heeft niks met index.php te maken, maar met de index van de array. De index is de sleutel zogezegd om de waarde op te halen, in jouw geval 'pagina', maar op het moment dat jij de switch gebruikt, bestaat 'pagina' nog niet in de array $_GET, omdat je 'pagina' niet in je URL hebt staan. Hierom moet je met isset werken.
of ook wel zorgen dat je pagina defineert
Maar ja, je moet doen wat je zelf het prettigst vind.
Zo kan bv ook:
Thanks.
WillemJan Z schreef op 10.03.2009 09:30:
In de else stond ook: // De standaard pagina. Dus hier zou je include 'home.php'; neer kunnen zetten.
Maar ja, je moet doen wat je zelf het prettigst vind.
Zo kan bv ook:
Maar ja, je moet doen wat je zelf het prettigst vind.
Zo kan bv ook:
@willemJan: over het hoofd gezien die else!
case "...." niet een dubbele punt te staan i.p.v. een punt-komma.
case "...": blaat();
i.p.v.
case "..."; blaat();
Zie hier werkend script:
Code (php)
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
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
<?php
if(!isset($_GET['pagina'])) {
$pagina = 'home';
} else {
$pagina = $_GET['pagina'];
}
switch($pagina) {
case "home";
include "home.php";
break;
case "beheer";
include "login.php";
break;
case "ingelogged";
include "ingelogged.php";
break;
case "zoeken";
include "zoeken.php";
break;
case "registreren";
include "registreren.php";
break;
case "toevoegen";
include "toevoegen.php";
break;
}
?>
if(!isset($_GET['pagina'])) {
$pagina = 'home';
} else {
$pagina = $_GET['pagina'];
}
switch($pagina) {
case "home";
include "home.php";
break;
case "beheer";
include "login.php";
break;
case "ingelogged";
include "ingelogged.php";
break;
case "zoeken";
include "zoeken.php";
break;
case "registreren";
include "registreren.php";
break;
case "toevoegen";
include "toevoegen.php";
break;
}
?>
Nee ze horen wel met : NIET; anders sluit je ze..??
cases open je inderdaad met een ':'
Hoe kan het dan dat ie het bij mij goed doet?