Hieronder een stukje PHP wat ik heb geschreven. Het maakt van 8 bits (8 checkboxen) oftewel één byte, een decimale waarde. Dit is om later te gebruiken bij groepberichten, voor welke groep(en) het bestemd is. Mijn vraag is nu, kan het PHP gedeelte nog netter en compacter worden geschreven? Hebben jullie nog tips/trucs?
En hieronder nog een stukje PHP, om te kijken of een gebruiker dan wel genoeg rechten heeft om een document te openen (beide getallen zijn weer decimaal)
Hoe is dit voor een eerste poging? Weliswaar heel simpel, maar ik miste deze functies in PHP, dus heb ik ze zelf gemaakt. Misschien heb je er wat aan?
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
| <? <form name="form1" method="post" action="test_byte.php"> <input type="checkbox" name="c0" value="1"> <input type="checkbox" name="c1" value="1"> <input type="checkbox" name="c2" value="1"> <input type="checkbox" name="c3" value="1"> <input type="checkbox" name="c4" value="1"> <input type="checkbox" name="c5" value="1"> <input type="checkbox" name="c6" value="1"> <input type="checkbox" name="c7" value="1"> <input type="submit" name="Submit" value="Bereken"> </form> <?php $e = array("c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7"); foreach ($e as $d) { if (empty($$d)) { $$d=0; } } /* Controleer eerst of de variabelen van de checkboxen een waarde hebben, anders 0 geven. */ $a = array($c0, $c1, $c2, $c3, $c4, $c5, $c6, $c7); $b = 0; for ($c = 0; $c <= 7; $c++) { $b += $a[$c] * pow(2, 7-$c); } /* Maak nu uit de array met losse elementen met de berekening $a[$c]*2^7-$c een waarde voor die ene bit, en tel die bij $b op. Als de routine alle 8 de elementen heeft gehad, dan bevat $b de decimale waarde van de array $a */ echo "De byte "; foreach ($a as $d) { echo $d; } echo " staat voor $b"; /* Een simpele routine om de byte te laten zien, en de waarde die erbij hoort.*/ ?> |
En hieronder nog een stukje PHP, om te kijken of een gebruiker dan wel genoeg rechten heeft om een document te openen (beide getallen zijn weer decimaal)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <? if (empty($rechten)) { $rechten=0; } if (empty($eisen)) { $eisen=0; } if ($eisen==0 | $eisen &amp;amp; $rechten) { ?>Het bericht mag getoond<?php } else { ?>Het bericht mag niet getoond.<?php } /* Als de eis "0" is (iedereen) of als de rechten van de gebruiker voldoende zijn, dan mag het bericht getoond worden. */ ?> |
Hoe is dit voor een eerste poging? Weliswaar heel simpel, maar ik miste deze functies in PHP, dus heb ik ze zelf gemaakt. Misschien heb je er wat aan?