Undifined index
Hoe zou ik dit op kunnen lossen?
Ik heb al geprobeerd de pagina's die ik include weg te laten, scripts weg te laten etc etc.
Error:
Notice: Undefined index: test in /var/www/vhosts/brandofart.com/httpdocs/cms/upload.php on line 56
Code:
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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
<?php
session_start();
ini_set('display_errors', 1);
error_reporting(E_ALL);
require("require/dbconnect.php");
if(!isset($_COOKIE["email"]))
{
header("Location: ../account.php");
}
if(isset($_COOKIE["email"]) && $_SESSION["functie"] != 1)
{
header("Location: ../loggedin.php");
}
$test = $_COOKIE["email"];
require("require/logout.php");
?>
<html>
<head>
<?php
include ("navigationcmshead.php");
?>
</head>
<body>
<div id="fullscreen3">
<?php
include ("navigationcmsbody.php");
?>
<div id="textform2">
<div id="uploadartimage">
<div id="aachen">
Upload Art
</div>
<div id="aachenS">
Admin
</div>
</div>
<div id="backbutton">
<a href="admin.php"><img src="images/cms/upload/back.png"></a>
</div>
<div id="uploadImages">
d
</div>
<div id="uploadImagePreview">
d
</div>
<div id="uploadArtInformation">
<form>
<input type="checkbox" name="test" value="test">
<input type="submit" value="submit">
<?php
echo $_POST ['test'];
?>
</form>
</div>
<script type="text/javascript">
function onFocusWachtwoord(id)
{
id.type="password";
id.value="";
}
function onFocusHerhaalWachtwoord(id)
{
id.type="password";
id.value="";
}
function blurFunction(id, informationToFill)
{
if (id.value == '')
{
id.value = informationToFill;
if((informationToFill == 'Wachtwoord') || (informationToFill == 'Herhaal wachtwoord'))
{
id.type="text";
}
}
}
</script>
</div>
</div>
</body>
</html>
session_start();
ini_set('display_errors', 1);
error_reporting(E_ALL);
require("require/dbconnect.php");
if(!isset($_COOKIE["email"]))
{
header("Location: ../account.php");
}
if(isset($_COOKIE["email"]) && $_SESSION["functie"] != 1)
{
header("Location: ../loggedin.php");
}
$test = $_COOKIE["email"];
require("require/logout.php");
?>
<html>
<head>
<?php
include ("navigationcmshead.php");
?>
</head>
<body>
<div id="fullscreen3">
<?php
include ("navigationcmsbody.php");
?>
<div id="textform2">
<div id="uploadartimage">
<div id="aachen">
Upload Art
</div>
<div id="aachenS">
Admin
</div>
</div>
<div id="backbutton">
<a href="admin.php"><img src="images/cms/upload/back.png"></a>
</div>
<div id="uploadImages">
d
</div>
<div id="uploadImagePreview">
d
</div>
<div id="uploadArtInformation">
<form>
<input type="checkbox" name="test" value="test">
<input type="submit" value="submit">
<?php
echo $_POST ['test'];
?>
</form>
</div>
<script type="text/javascript">
function onFocusWachtwoord(id)
{
id.type="password";
id.value="";
}
function onFocusHerhaalWachtwoord(id)
{
id.type="password";
id.value="";
}
function blurFunction(id, informationToFill)
{
if (id.value == '')
{
id.value = informationToFill;
if((informationToFill == 'Wachtwoord') || (informationToFill == 'Herhaal wachtwoord'))
{
id.type="text";
}
}
}
</script>
</div>
</div>
</body>
</html>
$_POST bevat alle gegevens die vanuit een form via de POST methode naar een server zijn gestuurd. De eerste keer dat je een pagina oproept is er echter geen POST request en is $_POST dus leeg. $_POST['test'] bestaat dan dus niet. Als je in je form op de submit klikt, dan pas worden de waardes via het POST request verstuurd naar de server en zal je $_POST['test'] kunnen gebruiken.
Goede oplossing:
Test (altijd!) voor je een $_POST of $_GET waarde wilt gebruiken of die wel bestaat. Dit kan bijvoorbeeld met de functie isset (klik op de link om te zien hoe je het moet gebruiken).
Daarnaast is het ook altijd handig om daarvoor zelfs nog te controleren of er wel een POST request is gedaan, doe dat met een check als dit:
(dit is nog zonder die if request method code)
- Marco - op 05/02/2013 14:43:06:
Maar als ik de checkbox aanvink en dan op submit druk dan krijg ik nogsteeds de error?
(dit is nog zonder die if request method code)
(dit is nog zonder die if request method code)
Je geeft in je form geen method aan, dus dan kan het ook zo zijn dat alles in $_GET terecht komt.
Erwin H op 05/02/2013 15:36:33:
Je geeft in je form geen method aan, dus dan kan het ook zo zijn dat alles in $_GET terecht komt.
Dan is het altijd een $_GET.
- SanThe - op 05/02/2013 15:51:13:
Dan is het altijd een $_GET.
Erwin H op 05/02/2013 15:36:33:
Je geeft in je form geen method aan, dus dan kan het ook zo zijn dat alles in $_GET terecht komt.
Dan is het altijd een $_GET.
:-O
Ik kan nooit onthouden wat nu de default is, vandaar ;-)
Toevoeging op 05/02/2013 19:38:11:
Gewoon altijd definieren dus!