stukje code fout???
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
if(isset($_POST['submit2'])) {
if ( isset( $_POST['activiteit'] ) && trim( $_POST['activiteit'] ) != "" ){
//check of de sessie variabele al bestaat, zo nee dan aanmaken
if ( isset( $_SESSION['activiteiten'] ) ){
$_SESSION['activiteiten'][] = $_POST['activiteit'];
} else {
$_SESSION['activiteiten'] = array();
$activity = $_POST['activiteit'];
array_push($_SESSION['activiteiten'], $activity);
}
}
}
if ( isset( $_POST['activiteit'] ) && trim( $_POST['activiteit'] ) != "" ){
//check of de sessie variabele al bestaat, zo nee dan aanmaken
if ( isset( $_SESSION['activiteiten'] ) ){
$_SESSION['activiteiten'][] = $_POST['activiteit'];
} else {
$_SESSION['activiteiten'] = array();
$activity = $_POST['activiteit'];
array_push($_SESSION['activiteiten'], $activity);
}
}
}
met bovenstaand voegt hij als het goed is de activiteit in de session['activiteiten'] wat een array is.
met onderstaande code zet hij het op het scherm (let op de echo is hier $wgOut->addHTML (vanwege mediawiki))
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$wgOut->addHTML(' <table>');
for($i = 0; $i <= 25; $i++) {
$wgOut->addHTML(' <tr>
<td>' . $_SESSION['activiteiten'][$i] . '</td>
</tr>');
}
$wgOut->addHTML(' </table>');
for($i = 0; $i <= 25; $i++) {
$wgOut->addHTML(' <tr>
<td>' . $_SESSION['activiteiten'][$i] . '</td>
</tr>');
}
$wgOut->addHTML(' </table>');
iedere keer als ik nu op de submit knop druk (vanuit het formulier) voegt hij alleen de laatst ingevulde waarde in de array toe...
Gewijzigd op 10/04/2012 17:43:43 door Christiaan de kleine
Christiaan de kleine op 10/04/2012 17:42:43:
iedere keer als ik nu op de submit knop druk (vanuit het formulier) voegt hij alleen de laatst ingevulde waarde in de array toe...
Wat bedoel je daar precies mee? $_POST['activiteit'] is zo te zien een string, dus dat er bij elke keer dat je op de knop drukt maar 1 waarde wordt ingevuld klopt volgens mij. Of is dat niet wat je bedoelt?
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
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
case "3":
$wgOut->addHTML(' <center><strong>
||
'. $date .' '. $_SESSION['date'] .' ||
'. $start .' '. $_SESSION['start'] .' ||
'. $pauze1 .' '. $_SESSION['pauze'] .' ||
'. $eind .' '. $_SESSION['eind'] .' ||
</center></strong><br><br>');
//check of de gebruiker een nieuwe activiteit heeft ingevoerd
$_SESSION['activiteiten'] = array();
if(isset($_POST['submit2'])) {
if ( isset( $_POST['activiteit'] ) && trim( $_POST['activiteit'] ) != "" ){
//check of de sessie variabele al bestaat, zo nee dan aanmaken
if ( isset( $_SESSION['activiteiten'] ) ){
$_SESSION['activiteiten'][] = $_POST['activiteit'];
} else {
$_SESSION['activiteiten'] = array();
$activity = $_POST['activiteit'];
array_push($_SESSION['activiteiten'], $activity);
}
}
}
if (count($_SESSION['activiteiten']) >= 14){
$wgOut->addHTML(' <form method="post" action="">
<input type="submit" value="'.$generating.'" name="submit3" style="color:#006600" />
</form>');
} else {
$wgOut->addHTML(' <table>
<form method="post" name="addactiviteit">
<tr>
<td>'. $activiteit .'</td>
<td width="25"></td>
<td><input type="text" name="activiteit" value="" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="reset" name="reset2" value="'.$leegform.'" /></td>
<td><input type="submit" name="submit2" value="'.$addactiviteit.'"</td>
<td><input type="submit" value="'.$generating.'" name="submit3" style="color:#FF0000"
disabled="disabled" /></td>
</tr>
</form>
</table><br><br>');
} // End for the if statement on counting the activities
$wgOut->addHTML(' <table>');
for($i = 0; $i <= 25; $i++) {
$wgOut->addHTML(' <tr>
<td>' . $_SESSION['activiteiten'][$i] . '</td>
</tr>');
}
$wgOut->addHTML(' </table>');
break;
$wgOut->addHTML(' <center><strong>
||
'. $date .' '. $_SESSION['date'] .' ||
'. $start .' '. $_SESSION['start'] .' ||
'. $pauze1 .' '. $_SESSION['pauze'] .' ||
'. $eind .' '. $_SESSION['eind'] .' ||
</center></strong><br><br>');
//check of de gebruiker een nieuwe activiteit heeft ingevoerd
$_SESSION['activiteiten'] = array();
if(isset($_POST['submit2'])) {
if ( isset( $_POST['activiteit'] ) && trim( $_POST['activiteit'] ) != "" ){
//check of de sessie variabele al bestaat, zo nee dan aanmaken
if ( isset( $_SESSION['activiteiten'] ) ){
$_SESSION['activiteiten'][] = $_POST['activiteit'];
} else {
$_SESSION['activiteiten'] = array();
$activity = $_POST['activiteit'];
array_push($_SESSION['activiteiten'], $activity);
}
}
}
if (count($_SESSION['activiteiten']) >= 14){
$wgOut->addHTML(' <form method="post" action="">
<input type="submit" value="'.$generating.'" name="submit3" style="color:#006600" />
</form>');
} else {
$wgOut->addHTML(' <table>
<form method="post" name="addactiviteit">
<tr>
<td>'. $activiteit .'</td>
<td width="25"></td>
<td><input type="text" name="activiteit" value="" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type="reset" name="reset2" value="'.$leegform.'" /></td>
<td><input type="submit" name="submit2" value="'.$addactiviteit.'"</td>
<td><input type="submit" value="'.$generating.'" name="submit3" style="color:#FF0000"
disabled="disabled" /></td>
</tr>
</form>
</table><br><br>');
} // End for the if statement on counting the activities
$wgOut->addHTML(' <table>');
for($i = 0; $i <= 25; $i++) {
$wgOut->addHTML(' <tr>
<td>' . $_SESSION['activiteiten'][$i] . '</td>
</tr>');
}
$wgOut->addHTML(' </table>');
break;
Maar dan weet ik nog steeds niet wat er dan precies fout gaat.
hij verwijdert het huidige item in de array zodra ik een nieuwe wil toevoegen...
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
if ( isset( $_SESSION['activiteiten'] ) ){
$_SESSION['activiteiten'][] = $_POST['activiteit'];
} else {
$_SESSION['activiteiten'] = array();
$activity = $_POST['activiteit'];
array_push($_SESSION['activiteiten'], $activity);
}
?>
if ( isset( $_SESSION['activiteiten'] ) ){
$_SESSION['activiteiten'][] = $_POST['activiteit'];
} else {
$_SESSION['activiteiten'] = array();
$activity = $_POST['activiteit'];
array_push($_SESSION['activiteiten'], $activity);
}
?>
Afgezien van wat je hier nog aan kan verbeteren, doe eens dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
print_r( $_SESSION ); //extra
if ( isset( $_SESSION['activiteiten'] ) ){
echo '<br>activiteiten bestond al'; //extra
$_SESSION['activiteiten'][] = $_POST['activiteit'];
} else {
echo '<br>activiteiten bestond nog niet'; //extra
$_SESSION['activiteiten'] = array();
$activity = $_POST['activiteit'];
array_push($_SESSION['activiteiten'], $activity);
}
?>
print_r( $_SESSION ); //extra
if ( isset( $_SESSION['activiteiten'] ) ){
echo '<br>activiteiten bestond al'; //extra
$_SESSION['activiteiten'][] = $_POST['activiteit'];
} else {
echo '<br>activiteiten bestond nog niet'; //extra
$_SESSION['activiteiten'] = array();
$activity = $_POST['activiteit'];
array_push($_SESSION['activiteiten'], $activity);
}
?>
Kan je in elk geval even controleren wat er precies in Session stond en wat hij nu gaat doen.
Toevoeging op 10/04/2012 18:07:29:
Laat maar, ik zie het al...
regel 12:
Code (php)
1
2
3
4
2
3
4
<?php
//check of de gebruiker een nieuwe activiteit heeft ingevoerd
$_SESSION['activiteiten'] = array();
?>
//check of de gebruiker een nieuwe activiteit heeft ingevoerd
$_SESSION['activiteiten'] = array();
?>
Hier initialiseer je $_SESSION['activiteiten]'. Dus elke keer als je hier komt wordt het opnieuw een lege array...
Gewijzigd op 10/04/2012 18:07:53 door Erwin H
Toevoeging op 10/04/2012 18:16:31:
en btw print_r kan niet in mediawiki...
Toevoeging op 10/04/2012 18:20:13:
waar ik hem ook neer zet om te initialiseren, hij blijft opnieuw die array aanmaken... knetter vervelend, want hoe kan ik dit nu wel oplossen???
(na afloop zal ik je zeggen waarom ;-)
ja nu werkt het wel, denk dat ik zelf ook weet waarom, vanwege dat hij in de if statement zelf de array aanmaakt als hij nog nit bestaat. of is dat niet zo erwin H?
Code (php)
Dit is minder regels en niets dubbel.
ja oke, volgens mij moet mijn hele ode iets netter enzo, maar ben bli dat het eerste concept gewoon volledig werkt. Dank je wel!