Undefined index: id melding
Quote:
Wat wil je in hemelsnaam met de waarde 255 bereiken? klanten_di in mijn db is: int(255)
Je maakt mij niet wijs dat jij getallen gaat opslaan die 255 karakters lang zijn. Wanneer je de handleiding er op naslaat, zul je ook zien dat je dit soort idioot grote getallen ook niet meer in een INT kunt opslaan. Zelfs een BIGINT kan hier niet meer mee over weg, 18446744073709551615 is de grootste waarde die je kunt opslaan.
Gelukkig zul je daar met jouw huidige systeem nooit een probleem mee krijgen. ;)
Quote:
Hoe bedoel je dat?Nu dus alleen hier nog een var van maken.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
sander schreef op 23.01.2007 10:35:
Deze had ik al veranderd naar int(11) :P
Was al aangepast. de int(255) was alleen even om te testen. (te lui om overal netjes een waarde in te vullen :P)
edit; ik heb nu dus dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if(!isset($_GET["id"])) // Uitroepteken ervoor betekent NOT
{
exit("Er is geen id opgegeven"); // Even een grove methode gebruikt
}
$hobbytoe = $_GET["id"];
$query = mysql_query("SELECT * FROM klanten WHERE klanten.klanten_id='$hobbytoe'") or die (mysql_error());
while ($row = mysql_fetch_assoc($query)) {
$klantid =$row['klanten_id'];
}
echo $klantid;
{
exit("Er is geen id opgegeven"); // Even een grove methode gebruikt
}
$hobbytoe = $_GET["id"];
$query = mysql_query("SELECT * FROM klanten WHERE klanten.klanten_id='$hobbytoe'") or die (mysql_error());
while ($row = mysql_fetch_assoc($query)) {
$klantid =$row['klanten_id'];
}
echo $klantid;
rest van het script
en dan
Code (php)
1
2
3
4
5
2
3
4
5
foreach($hobbies_selections as $hob){
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES ('" . $klantid . "', '" . $hob . "')") or die(mysql_error());
}
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES ('" . $klantid . "', '" . $hob . "')") or die(mysql_error());
}
zelfde fout. ik wordt een beetje gek hiervan, ben er al vanaf donderdag mee bezig...
Gewijzigd op 01/01/1970 01:00:00 door SanderV
aii... super gevoelig voor SQL Injection. Probeer eensin te denken wat er gebeurt als ik dit doe: joupagina.php?id='
En wat heeft die while dan voor zin? Als het goed is is het id uniek dus krijg je maximaal maar 1 resultaat.
Verder: Bestaat $hobbies_selections wel en is dat wel een array()? En, zoals ik al had verbeterd in een van mijn vorige posts: Een getal hoort niet tussen quotes. Ook niet in de query.
de query had ik inderdaad gemaakt om te kijken of het id goed meegenomen wordt. Dit is dus het geval (wat ik eigenlijk al wist dmv echo's).
edit:
Ik krijg nu de volgende meldingen:
Notice: Undefined index: id in C:\wamp\www\dating\hobbytoevoegen.php on line 19
Notice: Undefined variable: klantid in C:\wamp\www\dating\hobbytoevoegen.php on line 28
Notice: Undefined variable: klantid in C:\wamp\www\dating\hobbytoevoegen.php on line 104
om de één of andere vage reden geeft hij dus niet de variabele $klantid mee.
edit:
Zou het trouwens niet aan mijn checkboxen kunnen liggen? Ik heb een script gebruikt van deze site en helemaal aangepast. misschien heb ik hier iets fout gedaan, misschien even het bekijken waard?
Gewijzigd op 01/01/1970 01:00:00 door SanderV
Ik heb een beetje het idee dat hij de variabele $klantid kwijtraakt als ik de submit knop indruk...
Er wordt dus geen id meegegeven, ik snap er echt helemaal niks meer 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
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
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
<?php
require("session.php");
require("config.php");
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
if(!isset($_POST['id'])) // Uitroepteken ervoor betekent NOT
{
$klantid = $_GET['id'];
}
// t (): plaats een aantal tabs en eventueel een newline
// $n_tabs: hoeveel tabs je wilt
// $newline: wel of geen nieuwe regel
function t($n_tabs, $newline = false) {
if ($newline) echo "\n";
for ($i = 0; $i < $n_tabs; $i++) {
echo "\t";
}
}
// make_checkboxes (): maak een serie checkboxes met dezelfde name[]
// $name: string met de naam van de checkboxen
// $values: array met de values van de checkboxen
// $selections: array met de geselecteerde checkboxen
// $vertical: boolean voor horizontaal (false) of verticaal (true)
function make_checkboxes ($name, $values, $selections, $vertical = true) {
foreach ($values as $value) {
if ($vertical) {
t (3, true);
echo '<p>';
}
t (3, true);
echo '<input id="' . $value . '" name="' . $name . '[]" type="checkbox" value="' . $value . '"';
if (in_array ($value, $selections)) {
echo ' checked="checked"';
}
echo '>';
t (3, true);
echo '<label for ="' . $value . '">' . $value . '</label>';
if ($vertical) {
t (3, true);
echo '</p>';
}
}
}
// initialisatie-arrays;
// drie series checkboxen als voorbeeld
$array_hobbies = array();
$query="SELECT hobby FROM hobby";
$result = mysql_query($query) or trigger_error(mysql_error());
while($hobbies = mysql_fetch_array ($result)){
$array_hobbies[] = $hobbies['hobby'];
}
// als het formulier verzonden is vangen we de values op
// LET OP: als geen één checkbox van een groep is aangevinkt
// bestaat er géén array van in de POST variabelen. Vandaar dat
// we hier moeten checken met isset ()
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$hobbies_selections = (isset ($_POST['hobbies'])) ? ($_POST['hobbies']) : (array ());
$klantid = (isset ($_GET['id']));
}
// formulier is nog niet gepost, dus hier een lege array maken
// we zouden ook een array met standaardwaarden kunnen maken om
// sommige of alle checkboxen alvast te selecteren
else {
$hobbies_selections = array ();
}
foreach($hobbies_selections as $hob)
{
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES ('" . $klantid . "', '" . $hob . "')") or die(mysql_error());
}
echo $klantid;
?>
<html>
<head>
<title>Selecteer hobbys</title>
</head>
<body>
<font face='Arial'>
<table width='400' border='0' cellspacing='1' cellpadding='0'align='center'>
<tr>
<td colspan='2'>
<img src='logoone2one.jpg'>
</td>
</tr>
<tr>
<td colspan='2' bgcolor='#9EC1E0' class='R7'>
<b>Selecteer hobby</b>
</td>
</tr>
<td>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?id=" . $klantid . "" method="POST">
<p><?php make_checkboxes ('hobbies', $array_hobbies, $hobbies_selections); ?></p>
<input type="hidden" value="<?php echo $klantid; ?>" name="id"/>
<p><input type="submit" value="verzenden"></p>
</form>
</body>
</html>
require("session.php");
require("config.php");
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);
if(!isset($_POST['id'])) // Uitroepteken ervoor betekent NOT
{
$klantid = $_GET['id'];
}
// t (): plaats een aantal tabs en eventueel een newline
// $n_tabs: hoeveel tabs je wilt
// $newline: wel of geen nieuwe regel
function t($n_tabs, $newline = false) {
if ($newline) echo "\n";
for ($i = 0; $i < $n_tabs; $i++) {
echo "\t";
}
}
// make_checkboxes (): maak een serie checkboxes met dezelfde name[]
// $name: string met de naam van de checkboxen
// $values: array met de values van de checkboxen
// $selections: array met de geselecteerde checkboxen
// $vertical: boolean voor horizontaal (false) of verticaal (true)
function make_checkboxes ($name, $values, $selections, $vertical = true) {
foreach ($values as $value) {
if ($vertical) {
t (3, true);
echo '<p>';
}
t (3, true);
echo '<input id="' . $value . '" name="' . $name . '[]" type="checkbox" value="' . $value . '"';
if (in_array ($value, $selections)) {
echo ' checked="checked"';
}
echo '>';
t (3, true);
echo '<label for ="' . $value . '">' . $value . '</label>';
if ($vertical) {
t (3, true);
echo '</p>';
}
}
}
// initialisatie-arrays;
// drie series checkboxen als voorbeeld
$array_hobbies = array();
$query="SELECT hobby FROM hobby";
$result = mysql_query($query) or trigger_error(mysql_error());
while($hobbies = mysql_fetch_array ($result)){
$array_hobbies[] = $hobbies['hobby'];
}
// als het formulier verzonden is vangen we de values op
// LET OP: als geen één checkbox van een groep is aangevinkt
// bestaat er géén array van in de POST variabelen. Vandaar dat
// we hier moeten checken met isset ()
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$hobbies_selections = (isset ($_POST['hobbies'])) ? ($_POST['hobbies']) : (array ());
$klantid = (isset ($_GET['id']));
}
// formulier is nog niet gepost, dus hier een lege array maken
// we zouden ook een array met standaardwaarden kunnen maken om
// sommige of alle checkboxen alvast te selecteren
else {
$hobbies_selections = array ();
}
foreach($hobbies_selections as $hob)
{
mysql_query("INSERT INTO klanten_hobby_koppel (klanten_id, hobby)
VALUES ('" . $klantid . "', '" . $hob . "')") or die(mysql_error());
}
echo $klantid;
?>
<html>
<head>
<title>Selecteer hobbys</title>
</head>
<body>
<font face='Arial'>
<table width='400' border='0' cellspacing='1' cellpadding='0'align='center'>
<tr>
<td colspan='2'>
<img src='logoone2one.jpg'>
</td>
</tr>
<tr>
<td colspan='2' bgcolor='#9EC1E0' class='R7'>
<b>Selecteer hobby</b>
</td>
</tr>
<td>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>?id=" . $klantid . "" method="POST">
<p><?php make_checkboxes ('hobbies', $array_hobbies, $hobbies_selections); ?></p>
<input type="hidden" value="<?php echo $klantid; ?>" name="id"/>
<p><input type="submit" value="verzenden"></p>
</form>
</body>
</html>