vullen van array
Ik heb een vraag betreffende het maken van een array, die gevuld wordt naar aanleiding van de vooraf aan gevinkte opties.
Dit is het programma:
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
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
<?php
session_start();
/*
* De naam van het programma: Test_Label_array.php
* De ontwikkelingsdatum: 2018-07-09
* De naam van de auteur:
*
* De edit opleverings datum:
* De naam van de editor:
*
* versie nummer: 0.1
*
* De beschrijving van het programma:
* Vult de array $labels
*/
?>
<html>
<head>
<title>vult array $labels</title>
<meta charset="UTF-8">
<meta name="Login" content="width=device-width, initial-scale=1.0">
<meta "description" content="Test programma om label array te vullen.">
<meta name="author" content="naam">
</head>
<body>
<?php
/* Gewenste data definitie: ongewenst=0 gewenst=1 */
$_SESSION['fam_user_name']=1;
$_SESSION['fam_e_mail']=0;
$_SESSION['fam_passwd']=0;
$_SESSION['fam_street']=0;
$_SESSION['fam_complex_no']=1;
$_SESSION['fam_birth_date']=0;
/* checkbox invoer j/n */
$_SESSION['checkbox_1']=1;
$_SESSION['checkbox_2']=0;
/* Maak een labels array met alle formulier velden handmatig (dit werkt!). */
/* $labels = array('user_name' => 'Familie_naam',
'complex_no' => 'Complex_nummer',
'sfinx_new' => 'Sfinx_complex'); */
/* Maak een optioneel labels array met alle keuze velden, */
/* die in het formulier moeten voorkomen. */
/* $opties_aan="(";*/ /* Voeg haakje open toe */
if ($_SESSION['fam_user_name']<>0) {
$opties_aan=$opties_aan."'user_name' => 'Familie_naam',";
}
if ($_SESSION['fam_e_mail']<>0) {
$opties_aan=$opties_aan."'e_mail' => 'mailadres',";
}
if ($_SESSION['fam_user_passwd']<>0) {
$opties_aan=$opties_aan."'passwd' => 'paswoord',";
}
if ($_SESSION['fam_street']<>0) {
$opties_aan=$opties_aan."'street' => 'straat',";
}
if ($_SESSION['fam_complex_no']<>0) {
$opties_aan=$opties_aan."'complex_no' => 'Complex_huisnummer',";
}
if ($_SESSION['fam_birth_date']<>0) {
$opties_aan=$opties_aan."'birth_date' => 'Geboortedatum',";
}
if ($_SESSION['checkbox_1']<>0) {
$opties_aan=$opties_aan."'sfinx_new' => 'Sfinx_complex',";
}
if ($_SESSION['checkbox_2']<>0) {
$opties_aan=$opties_aan."'boxtekst2' => 'Boxtekst2',";
}
/* Haal laatste comma weg */
$opties_aan = substr_replace($opties_aan,"",-1);
/* $opties_aan = $optie_aan.")"; */ /* Voeg haakje sluiten toe */
/* $labels = array.$opties_aan */
$labels = array ($opties_aan); /* dit werkt niet!!!!! */
echo "Dit is de inhoud van de string: ".$opties_aan."<br><br>";
echo "Dit zijn de veldnamen en inhoud van de velden:<br>";
foreach ($labels as $field => $value) {
echo "Naam van veld: ".$field." Inhoud van veld: ".$value."<br>" ;
}
?>
</body>
</html>
session_start();
/*
* De naam van het programma: Test_Label_array.php
* De ontwikkelingsdatum: 2018-07-09
* De naam van de auteur:
*
* De edit opleverings datum:
* De naam van de editor:
*
* versie nummer: 0.1
*
* De beschrijving van het programma:
* Vult de array $labels
*/
?>
<html>
<head>
<title>vult array $labels</title>
<meta charset="UTF-8">
<meta name="Login" content="width=device-width, initial-scale=1.0">
<meta "description" content="Test programma om label array te vullen.">
<meta name="author" content="naam">
</head>
<body>
<?php
/* Gewenste data definitie: ongewenst=0 gewenst=1 */
$_SESSION['fam_user_name']=1;
$_SESSION['fam_e_mail']=0;
$_SESSION['fam_passwd']=0;
$_SESSION['fam_street']=0;
$_SESSION['fam_complex_no']=1;
$_SESSION['fam_birth_date']=0;
/* checkbox invoer j/n */
$_SESSION['checkbox_1']=1;
$_SESSION['checkbox_2']=0;
/* Maak een labels array met alle formulier velden handmatig (dit werkt!). */
/* $labels = array('user_name' => 'Familie_naam',
'complex_no' => 'Complex_nummer',
'sfinx_new' => 'Sfinx_complex'); */
/* Maak een optioneel labels array met alle keuze velden, */
/* die in het formulier moeten voorkomen. */
/* $opties_aan="(";*/ /* Voeg haakje open toe */
if ($_SESSION['fam_user_name']<>0) {
$opties_aan=$opties_aan."'user_name' => 'Familie_naam',";
}
if ($_SESSION['fam_e_mail']<>0) {
$opties_aan=$opties_aan."'e_mail' => 'mailadres',";
}
if ($_SESSION['fam_user_passwd']<>0) {
$opties_aan=$opties_aan."'passwd' => 'paswoord',";
}
if ($_SESSION['fam_street']<>0) {
$opties_aan=$opties_aan."'street' => 'straat',";
}
if ($_SESSION['fam_complex_no']<>0) {
$opties_aan=$opties_aan."'complex_no' => 'Complex_huisnummer',";
}
if ($_SESSION['fam_birth_date']<>0) {
$opties_aan=$opties_aan."'birth_date' => 'Geboortedatum',";
}
if ($_SESSION['checkbox_1']<>0) {
$opties_aan=$opties_aan."'sfinx_new' => 'Sfinx_complex',";
}
if ($_SESSION['checkbox_2']<>0) {
$opties_aan=$opties_aan."'boxtekst2' => 'Boxtekst2',";
}
/* Haal laatste comma weg */
$opties_aan = substr_replace($opties_aan,"",-1);
/* $opties_aan = $optie_aan.")"; */ /* Voeg haakje sluiten toe */
/* $labels = array.$opties_aan */
$labels = array ($opties_aan); /* dit werkt niet!!!!! */
echo "Dit is de inhoud van de string: ".$opties_aan."<br><br>";
echo "Dit zijn de veldnamen en inhoud van de velden:<br>";
foreach ($labels as $field => $value) {
echo "Naam van veld: ".$field." Inhoud van veld: ".$value."<br>" ;
}
?>
</body>
</html>
Edit:
Ik heb code-tags geplaatst. Gelieve dit in het vervolg zelf toe te voegen aan je bericht.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Zie ook: Veel gestelde vragen: Welke UBB-codes kan ik gebruiken.
Gewijzigd op 09/07/2018 15:42:43 door - Ariën -
var_dump over $opties_aan? en over $labels?
Deze functie is ideaal om te debuggen en dus ook om te kijken wat voor datatype en waarde er in een variabele zitten.
Wat zegt Deze functie is ideaal om te debuggen en dus ook om te kijken wat voor datatype en waarde er in een variabele zitten.
Ik zou eerder iets verwachten in de trant van:
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if (array_key_exists('fam_user_name', $_SESSION) {
$opties_aan['user_name'] = 'Familie_naam';
}
?>
if (array_key_exists('fam_user_name', $_SESSION) {
$opties_aan['user_name'] = 'Familie_naam';
}
?>
Ook loont het de moeite om de index-namen van de sessie en $opties_aan gelijk te stellen, zodat je zoiets kunt doen:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
foreach (array(
'fam_user_name' => 'Familie_naam',
'fam_email' => 'mailadres',
// et cetera
) as $k => $v) {
if (array_key_exists($k, $_SESSION)) {
$opties_aan[$k] = $v;
}
}
?>
foreach (array(
'fam_user_name' => 'Familie_naam',
'fam_email' => 'mailadres',
// et cetera
) as $k => $v) {
if (array_key_exists($k, $_SESSION)) {
$opties_aan[$k] = $v;
}
}
?>
Toevoeging op 09/07/2018 16:03:38:
Thomas, bedankt voor je reactie.
Deze oplossing, begrijp ik nog niet helemaal.
Ik neem even de tijd om dit uit te werken en te begrijpen.
Daarna kom ik er op terug.
Ik hoop dat mij dit helpt, zo niet, dan ligt het niet aan jou maar aan mij zelf en begrijp ik het niet.
Het heeft gelukkig geen haast, dus studeren maar even!
vriendelijke groet,
Gerard
Toevoeging op 10/07/2018 01:27:30:
Thomas,
Bedankt voor je goede opmerking, ik heb er nu rechtstreeks een array van gemaakt en het werkt.
Ook via jou voorbeeld zag ik hoe je de array kon vullen, dat wist ik niet dat dit zo mogelijk was.
Ik kan weer verder.
Zie onderstaand:
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
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
<?php
session_start();
/*
* De naam van het programma: Test_Label2_array.php
* De ontwikkelingsdatum: 2018-07-09
* De naam van de auteur: G.J. de Brieder Sr.
*
* De edit opleverings datum:
* De naam van de editor:
*
* versie nummer: 0.02
*
* De beschrijving van het programma:
* Test de inhoud van array $labels
*/
/* Gewenste data definitie: ongewenst=0 gewenst=1 */
$_SESSION['fam_user_name']=1;
$_SESSION['fam_e_mail']=0;
$_SESSION['fam_passwd']=0;
$_SESSION['fam_street']=0;
$_SESSION['fam_complex_no']=1;
$_SESSION['fam_birth_date']=0;
/* checkbox invoer j/n */
$_SESSION['checkbox_1']=1;
$_SESSION['checkbox_2']=0;
/* Maak een optioneel labels array met alle keuze velden, */
/* die in het formulier moeten voorkomen (Nu is dat: */
/* user_name, complex_no en een checkbox_1) */
$opties_aan=array ();
if ($_SESSION['fam_user_name']==1) {
$opties_aan['user_name'] = 'Familie_naam';
}
if ($_SESSION['fam_e_mail']==1) {
$opties_aan['e_mail'] = 'Mailadres';
}
if ($_SESSION['fam_passwd']==1) {
$opties_aan['passwd'] = 'Paswoord';
}
if ($_SESSION['fam_street']==1) {
$opties_aan['street'] = 'Straat';
}
if ($_SESSION['fam_complex_no']==1) {
$opties_aan['complex_no'] = 'Huisnummer';
}
if ($_SESSION['fam_birth_date']==1) {
$opties_aan['birth_date'] = 'Geboortedatum';
}
if ($_SESSION['checkbox_1']==1) {
$opties_aan['sfinx_new'] = 'Sfinx_complex';
}
if ($_SESSION['checkbox_2']==1) {
$opties_aan['checkbox_2'] = 'Checkbox2';
}
echo "Dit is de inhoud van de string: ".$opties_aan."<br><br>";
echo "Dit zijn de veldnamen en inhoud van de velden:<br>";
foreach ($opties_aan as $field => $value) {
echo "Naam van veld: ".$field." Inhoud van veld: ".$value."<br>" ;
}
?>
session_start();
/*
* De naam van het programma: Test_Label2_array.php
* De ontwikkelingsdatum: 2018-07-09
* De naam van de auteur: G.J. de Brieder Sr.
*
* De edit opleverings datum:
* De naam van de editor:
*
* versie nummer: 0.02
*
* De beschrijving van het programma:
* Test de inhoud van array $labels
*/
/* Gewenste data definitie: ongewenst=0 gewenst=1 */
$_SESSION['fam_user_name']=1;
$_SESSION['fam_e_mail']=0;
$_SESSION['fam_passwd']=0;
$_SESSION['fam_street']=0;
$_SESSION['fam_complex_no']=1;
$_SESSION['fam_birth_date']=0;
/* checkbox invoer j/n */
$_SESSION['checkbox_1']=1;
$_SESSION['checkbox_2']=0;
/* Maak een optioneel labels array met alle keuze velden, */
/* die in het formulier moeten voorkomen (Nu is dat: */
/* user_name, complex_no en een checkbox_1) */
$opties_aan=array ();
if ($_SESSION['fam_user_name']==1) {
$opties_aan['user_name'] = 'Familie_naam';
}
if ($_SESSION['fam_e_mail']==1) {
$opties_aan['e_mail'] = 'Mailadres';
}
if ($_SESSION['fam_passwd']==1) {
$opties_aan['passwd'] = 'Paswoord';
}
if ($_SESSION['fam_street']==1) {
$opties_aan['street'] = 'Straat';
}
if ($_SESSION['fam_complex_no']==1) {
$opties_aan['complex_no'] = 'Huisnummer';
}
if ($_SESSION['fam_birth_date']==1) {
$opties_aan['birth_date'] = 'Geboortedatum';
}
if ($_SESSION['checkbox_1']==1) {
$opties_aan['sfinx_new'] = 'Sfinx_complex';
}
if ($_SESSION['checkbox_2']==1) {
$opties_aan['checkbox_2'] = 'Checkbox2';
}
echo "Dit is de inhoud van de string: ".$opties_aan."<br><br>";
echo "Dit zijn de veldnamen en inhoud van de velden:<br>";
foreach ($opties_aan as $field => $value) {
echo "Naam van veld: ".$field." Inhoud van veld: ".$value."<br>" ;
}
?>